List of usage examples for org.hibernate.criterion DetachedCriteria createAlias
public DetachedCriteria createAlias(String associationPath, String alias)
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassModuleDaoImpl.java
License:Open Source License
/** * API to get the count of modules related to a batch class. * // www .j a v a2 s .c om * @param batchClassId * @return Integer (count of modules) */ @Override public Integer countModules(String batchClassIdentifier) { LOG.info("batchClassIdentifier : " + batchClassIdentifier); DetachedCriteria criteria = criteria(); criteria.createAlias(BATCH_CLASS, BATCH_CLASS); criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier)); return count(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 w w. jav a 2 s.c o m*/ * @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. * //ww w.ja v a2 s . com * @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.BatchClassModuleDaoImpl.java
License:Open Source License
/** * API to fetch the modules by name.//from ww w .j a v a 2 s .com * * @param batchClassIdentifier * @param moduleName * @return BatchClassModule */ @Override public BatchClassModule getModuleByName(String batchClassIdentifier, String moduleName) { DetachedCriteria criteria = criteria(); criteria.createAlias(BATCH_CLASS, BATCH_CLASS); criteria.createAlias(MODULE, MODULE); criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier)); criteria.add(Restrictions.eq("module.name", moduleName)); return findSingle(criteria); }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassModuleDaoImpl.java
License:Open Source License
/** * API to fetch the modules by workflow name. * // ww w . ja va2 s . co m * @param batchClassIdentifier * @param workflowName * @return batch class module object */ @Override public BatchClassModule getModuleByWorkflowName(String batchClassIdentifier, String workflowName) { DetachedCriteria criteria = criteria(); criteria.createAlias(BATCH_CLASS, BATCH_CLASS); criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassIdentifier)); criteria.add(Restrictions.eq(WORKFLOW_NAME, workflowName)); return findSingle(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. * //from w w w .ja va 2s.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.BatchInstanceDaoImpl.java
License:Open Source License
/** * An API to fetch all batch instance by batch name or id. * //from w w w. jav a 2 s. c o m * @param searchString String * @param userRoles Set<String> * @return List<BatchInstance> */ @Override public List<BatchInstance> getBatchInstancesByBatchNameOrId(String searchString, Set<String> userRoles) { DetachedCriteria criteria = criteria(); List<BatchInstance> batchInstances = new ArrayList<BatchInstance>(); Set<String> batchClassIdentifiers = batchClassGroupsDao.getBatchClassIdentifierForUserRoles(userRoles); String searchStringLocal = searchString.replaceAll(DataAccessConstant.PERCENTAGE, REPLACEMENT_STRING); Criterion nameLikeCriteria = Restrictions.like(BATCH_NAME, DataAccessConstant.PERCENTAGE + searchStringLocal + DataAccessConstant.PERCENTAGE); Criterion idLikeCriteria = Restrictions.like(BATCH_INSTANCE_IDENTIFIER, DataAccessConstant.PERCENTAGE + searchStringLocal + DataAccessConstant.PERCENTAGE); LogicalExpression searchCriteria = Restrictions.or(nameLikeCriteria, idLikeCriteria); criteria.add(searchCriteria); if (batchClassIdentifiers != null && batchClassIdentifiers.size() > 0) { criteria.createAlias(BATCH_CLASS, BATCH_CLASS); criteria.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); batchInstances = find(criteria); } return batchInstances; }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchInstanceDaoImpl.java
License:Open Source License
/** * An API to fetch count of the batch instance table for batch instance status and batch priority. API will return those batch * instance having access by the user roles on the basis of ephesoft user. * // w w w . j ava 2 s . c o m * @param batchName {@link String} * @param batchInstanceStatus {@link BatchInstanceStatus} * @param userName {@link String} * @param priority {@link BatchPriority} * @param userRoles Set<{@link String}> * @param ephesoftUser {@link EphesoftUser} * @return int, count of the batch instance present for the batch instance status. */ @Override public int getCount(String batchName, BatchInstanceStatus batchInstanceStatus, String userName, BatchPriority batchPriority, Set<String> userRoles, EphesoftUser ephesoftUser) { int count = 0; DetachedCriteria criteria = criteria(); if (batchName != null && !batchName.isEmpty()) { String batchNameLocal = batchName.replaceAll(DataAccessConstant.PERCENTAGE, REPLACEMENT_STRING); Criterion nameLikeCriteria = Restrictions.like(BATCH_NAME, DataAccessConstant.PERCENTAGE + batchNameLocal + DataAccessConstant.PERCENTAGE); Criterion idLikeCriteria = Restrictions.like(BATCH_INSTANCE_IDENTIFIER, DataAccessConstant.PERCENTAGE + batchNameLocal + DataAccessConstant.PERCENTAGE); LogicalExpression searchCriteria = Restrictions.or(nameLikeCriteria, idLikeCriteria); criteria.add(searchCriteria); } else if (null != batchPriority) { Disjunction disjunction = Restrictions.disjunction(); Integer lowValue = batchPriority.getLowerLimit(); Integer upperValue = batchPriority.getUpperLimit(); disjunction.add(Restrictions.between(PRIORITY, lowValue, upperValue)); criteria.add(disjunction); } Set<String> batchClassIdentifiers = batchClassGroupsDao.getBatchClassIdentifierForUserRoles(userRoles); if (EphesoftUser.NORMAL_USER.equals(ephesoftUser)) { Set<String> batchInstanceIdentifiers = batchInstanceGroupsDao .getBatchInstanceIdentifierForUserRoles(userRoles); if ((null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) || (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0)) { criteria.add(Restrictions.eq(STATUS, batchInstanceStatus)); criteria.add(Restrictions.eq(IS_REMOTE, false)); criteria.add(Restrictions.or(Restrictions.isNull(CURRENT_USER), Restrictions.eq(CURRENT_USER, userName))); final Disjunction disjunction = Restrictions.disjunction(); if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) { criteria.createAlias(BATCH_CLASS, BATCH_CLASS); disjunction.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); } if (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0) { disjunction.add(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifiers)); } criteria.add(disjunction); count = count(criteria); } else { if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) { criteria.add(Restrictions.eq(STATUS, batchInstanceStatus)); criteria.add(Restrictions.eq(IS_REMOTE, false)); criteria.add(Restrictions.or(Restrictions.isNull(CURRENT_USER), Restrictions.eq(CURRENT_USER, userName))); criteria.createAlias(BATCH_CLASS, BATCH_CLASS); criteria.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); count = count(criteria); } } } return count; }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchInstanceDaoImpl.java
License:Open Source License
/** * An API to fetch count of the batch instances for a given status list and batch priority and isCurrUsrNotReq is used for adding * the batch instance access by the current user. This API will return the batch instance having access by the user roles on the * basis of ephesoft user./*from w ww .j a va 2s . co m*/ * * @param batchInstStatusList List<{@link BatchInstanceStatus}> * @param batchPriorities the priority list of the batches * @param isNotCurrentUserCheckReq true if the current user can be anyone. False if current user cannot be null. * @param currentUserName {@link String} * @param userRoles Set<{@link String}> * @param ephesoftUser {@link EphesoftUser} * @param searchString the searchString on which batch instances have to be fetched * @return int, the count satisfying the above requirements */ @Override public int getCount(final List<BatchInstanceStatus> batchInstStatusList, final List<BatchPriority> batchPriorities, final boolean isNotCurrentUserCheckReq, final Set<String> userRoles, final String currentUserName, EphesoftUser ephesoftUser, final String searchString) { DetachedCriteria criteria = criteria(); if (null != batchInstStatusList) { criteria.add(Restrictions.in(STATUS, batchInstStatusList)); } if (null != searchString && !searchString.isEmpty()) { String searchStringLocal = searchString.replaceAll(DataAccessConstant.PERCENTAGE, REPLACEMENT_STRING); Criterion nameLikeCriteria = Restrictions.like(BATCH_NAME, DataAccessConstant.PERCENTAGE + searchStringLocal + DataAccessConstant.PERCENTAGE); Criterion idLikeCriteria = Restrictions.like(BATCH_INSTANCE_IDENTIFIER, DataAccessConstant.PERCENTAGE + searchStringLocal + DataAccessConstant.PERCENTAGE); LogicalExpression searchCriteria = Restrictions.or(nameLikeCriteria, idLikeCriteria); criteria.add(searchCriteria); } if (null != batchPriorities && !(batchPriorities.isEmpty())) { Disjunction disjunction = Restrictions.disjunction(); for (BatchPriority batchPriority : batchPriorities) { if (null != batchPriority) { Integer lowValue = batchPriority.getLowerLimit(); Integer upperValue = batchPriority.getUpperLimit(); disjunction.add(Restrictions.between(PRIORITY, lowValue, upperValue)); } else { disjunction = Restrictions.disjunction(); break; } } criteria.add(disjunction); } int count = 0; Set<String> batchClassIdentifiers = null; Set<String> batchInstanceIdentifiers = null; if (ephesoftUser.equals(EphesoftUser.ADMIN_USER)) { batchClassIdentifiers = batchClassGroupsDao.getBatchClassIdentifierForUserRoles(userRoles); batchInstanceIdentifiers = batchInstanceGroupsDao.getBatchInstanceIdentifierForUserRoles(userRoles); if ((null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) || (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0)) { if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0 && null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0) { final Disjunction disjunction = Restrictions.disjunction(); if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) { criteria.createAlias(BATCH_CLASS, BATCH_CLASS); disjunction.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); } if (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0) { disjunction.add(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifiers)); } criteria.add(disjunction); } else if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) { criteria.createAlias(BATCH_CLASS, BATCH_CLASS); criteria.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); } else if (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0) { criteria.add(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifiers)); } // Add check for null current users only. // Now we will count only for those current users those are null. if (!isNotCurrentUserCheckReq && null != currentUserName) { criteria.add(Restrictions.or(Restrictions.isNull(CURRENT_USER), Restrictions.eq(CURRENT_USER, currentUserName))); } count = count(criteria); } } else { batchClassIdentifiers = batchClassGroupsDao.getBatchClassIdentifierForUserRoles(userRoles); batchInstanceIdentifiers = batchInstanceGroupsDao.getBatchInstanceIdentifierForUserRoles(userRoles); if ((null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) || (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0)) { Set<String> batchInstanceIdentifierSet = batchInstanceGroupsDao .getBatchInstanceIdentifiersExceptUserRoles(userRoles); if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0 && null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0 && null != batchInstanceIdentifierSet && batchInstanceIdentifierSet.size() > 0) { final Conjunction conjunction = Restrictions.conjunction(); final Disjunction disjunction = Restrictions.disjunction(); criteria.createAlias(BATCH_CLASS, BATCH_CLASS); disjunction.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); disjunction.add(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifiers)); conjunction.add(Restrictions .not(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifierSet))); conjunction.add(disjunction); criteria.add(conjunction); } else if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0 && null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0) { final Disjunction disjunction = Restrictions.disjunction(); criteria.createAlias(BATCH_CLASS, BATCH_CLASS); disjunction.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); disjunction.add(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifiers)); criteria.add(disjunction); } else if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0 && null != batchInstanceIdentifierSet && batchInstanceIdentifierSet.size() > 0) { final Conjunction conjunction = Restrictions.conjunction(); criteria.createAlias(BATCH_CLASS, BATCH_CLASS); conjunction.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); conjunction.add(Restrictions .not(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifierSet))); criteria.add(conjunction); } else if (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0 && null != batchInstanceIdentifierSet && batchInstanceIdentifierSet.size() > 0) { final Conjunction conjunction = Restrictions.conjunction(); conjunction.add(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifiers)); conjunction.add(Restrictions .not(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifierSet))); criteria.add(conjunction); } else if (null != batchInstanceIdentifiers && batchInstanceIdentifiers.size() > 0) { criteria.add(Restrictions.in(BATCH_INSTANCE_IDENTIFIER, batchInstanceIdentifiers)); } else if (null != batchClassIdentifiers && batchClassIdentifiers.size() > 0) { criteria.createAlias(BATCH_CLASS, BATCH_CLASS); criteria.add(Restrictions.in(BATCH_CLASS_IDENTIFIER, batchClassIdentifiers)); } if (!isNotCurrentUserCheckReq && null != currentUserName) { criteria.add(Restrictions.or(Restrictions.isNull(CURRENT_USER), Restrictions.eq(CURRENT_USER, currentUserName))); } count = count(criteria); } } return count; }
From source file:com.ephesoft.dcma.da.dao.hibernate.UserDaoImpl.java
License:Open Source License
/** * API to get User Information from batch class ID. * /*from w w w . j a v a 2 s . c o m*/ * @param batchClassId {@link String} */ @Override public User getUserByBatchClassId(String batchClassId) { LOGGER.info("Inside get User API"); DetachedCriteria criteria = criteria(); LOGGER.info("Adding criteria for fetching user for email Id :" + batchClassId); criteria.createAlias(BATCH_CLASS, BATCH_CLASS); criteria.add(Restrictions.eq(BATCH_CLASS_IDENTIFIER, batchClassId)); return findSingle(criteria); }