/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.workflow.kaleo.service.persistence.impl; import com.liferay.portal.dao.orm.custom.sql.CustomSQLUtil; import com.liferay.portal.kernel.dao.orm.QueryPos; import com.liferay.portal.kernel.dao.orm.QueryUtil; import com.liferay.portal.kernel.dao.orm.SQLQuery; import com.liferay.portal.kernel.dao.orm.Session; import com.liferay.portal.kernel.dao.orm.Type; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.model.Group; import com.liferay.portal.kernel.model.Role; import com.liferay.portal.kernel.model.User; import com.liferay.portal.kernel.model.UserGroup; import com.liferay.portal.kernel.model.UserGroupGroupRole; import com.liferay.portal.kernel.model.UserGroupRole; import com.liferay.portal.kernel.service.GroupLocalServiceUtil; import com.liferay.portal.kernel.service.RoleLocalServiceUtil; import com.liferay.portal.kernel.service.UserGroupGroupRoleLocalServiceUtil; import com.liferay.portal.kernel.service.UserGroupLocalServiceUtil; import com.liferay.portal.kernel.service.UserGroupRoleLocalServiceUtil; import com.liferay.portal.kernel.service.UserLocalServiceUtil; import com.liferay.portal.kernel.util.ArrayUtil; import com.liferay.portal.kernel.util.CalendarUtil; import com.liferay.portal.kernel.util.OrderByComparator; import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.workflow.kaleo.model.KaleoTaskInstanceToken; import com.liferay.portal.workflow.kaleo.model.impl.KaleoTaskInstanceTokenModelImpl; import com.liferay.portal.workflow.kaleo.runtime.util.RoleUtil; import com.liferay.portal.workflow.kaleo.service.persistence.KaleoTaskInstanceTokenFinder; import com.liferay.portal.workflow.kaleo.service.persistence.KaleoTaskInstanceTokenQuery; import com.liferay.portal.workflow.kaleo.service.persistence.KaleoTaskInstanceTokenUtil; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeSet; /** * @author Michael C. Han */ public class KaleoTaskInstanceTokenFinderImpl extends KaleoTaskInstanceTokenFinderBaseImpl implements KaleoTaskInstanceTokenFinder { public static final String COUNT_BY_C_KTAI = KaleoTaskInstanceTokenFinder.class.getName() + ".countByC_KTAI"; public static final String FIND_BY_C_KTAI = KaleoTaskInstanceTokenFinder.class.getName() + ".findByC_KTAI"; @Override public int countKaleoTaskInstanceTokens( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Session session = null; try { session = openSession(); SQLQuery q = buildKaleoTaskInstanceTokenQuerySQL( kaleoTaskInstanceTokenQuery, true, session); Iterator<Long> itr = q.iterate(); if (itr.hasNext()) { Long count = itr.next(); if (count != null) { return count.intValue(); } } return 0; } catch (Exception e) { throw new SystemException(e); } finally { closeSession(session); } } @Override public List<KaleoTaskInstanceToken> findKaleoTaskInstanceTokens( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Session session = null; try { session = openSession(); SQLQuery q = buildKaleoTaskInstanceTokenQuerySQL( kaleoTaskInstanceTokenQuery, false, session); List<KaleoTaskInstanceToken> kaleoTaskInstanceTokens = new ArrayList<>(); Iterator<Long> itr = (Iterator<Long>)QueryUtil.iterate( q, getDialect(), kaleoTaskInstanceTokenQuery.getStart(), kaleoTaskInstanceTokenQuery.getEnd()); while (itr.hasNext()) { long kaleoTaskInstanceTokenId = itr.next(); KaleoTaskInstanceToken kaleoTaskInstanceToken = KaleoTaskInstanceTokenUtil.findByPrimaryKey( kaleoTaskInstanceTokenId); kaleoTaskInstanceTokens.add(kaleoTaskInstanceToken); } return kaleoTaskInstanceTokens; } catch (Exception e) { throw new SystemException(e); } finally { closeSession(session); } } protected boolean appendSearchCriteria( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { if (ArrayUtil.isNotEmpty( kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys())) { return true; } if (ArrayUtil.isNotEmpty(kaleoTaskInstanceTokenQuery.getAssetTypes())) { return true; } if (kaleoTaskInstanceTokenQuery.getDueDateGT() != null) { return true; } if (kaleoTaskInstanceTokenQuery.getDueDateLT() != null) { return true; } if (Validator.isNotNull(kaleoTaskInstanceTokenQuery.getTaskName())) { return true; } return false; } protected SQLQuery buildKaleoTaskInstanceTokenQuerySQL( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery, boolean count, Session session) throws Exception { String sql = null; if (count) { sql = CustomSQLUtil.get(getClass(), COUNT_BY_C_KTAI); } else { sql = CustomSQLUtil.get(getClass(), FIND_BY_C_KTAI); } sql = CustomSQLUtil.appendCriteria( sql, getAssigneeClassName(kaleoTaskInstanceTokenQuery)); sql = CustomSQLUtil.appendCriteria( sql, getAssigneeClassPK(kaleoTaskInstanceTokenQuery)); sql = CustomSQLUtil.appendCriteria( sql, getCompleted(kaleoTaskInstanceTokenQuery)); sql = CustomSQLUtil.appendCriteria( sql, getKaleoInstanceId(kaleoTaskInstanceTokenQuery)); sql = CustomSQLUtil.appendCriteria( sql, getRoleIds(kaleoTaskInstanceTokenQuery)); sql = CustomSQLUtil.appendCriteria( sql, getSearchByUserRoles(kaleoTaskInstanceTokenQuery)); if (appendSearchCriteria(kaleoTaskInstanceTokenQuery)) { sql = CustomSQLUtil.appendCriteria(sql, " AND ("); if (ArrayUtil.isNotEmpty( kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys()) || ArrayUtil.isNotEmpty( kaleoTaskInstanceTokenQuery.getAssetTypes())) { sql = CustomSQLUtil.appendCriteria(sql, " ("); } sql = CustomSQLUtil.appendCriteria( sql, getAssetPrimaryKey(kaleoTaskInstanceTokenQuery)); sql = CustomSQLUtil.appendCriteria( sql, getAssetTypes( kaleoTaskInstanceTokenQuery, ArrayUtil.isEmpty( kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys()))); if (ArrayUtil.isNotEmpty( kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys()) || ArrayUtil.isNotEmpty( kaleoTaskInstanceTokenQuery.getAssetTypes())) { sql = CustomSQLUtil.appendCriteria(sql, ") "); } sql = CustomSQLUtil.appendCriteria( sql, getDueDateGT( kaleoTaskInstanceTokenQuery, ArrayUtil.isEmpty( kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys()) && ArrayUtil.isEmpty( kaleoTaskInstanceTokenQuery.getAssetTypes()))); sql = CustomSQLUtil.appendCriteria( sql, getDueDateLT( kaleoTaskInstanceTokenQuery, ArrayUtil.isEmpty( kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys()) && ArrayUtil.isEmpty( kaleoTaskInstanceTokenQuery.getAssetTypes()) && (kaleoTaskInstanceTokenQuery.getDueDateGT() == null))); sql = CustomSQLUtil.appendCriteria( sql, getTaskName( kaleoTaskInstanceTokenQuery, ArrayUtil.isEmpty( kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys()) && ArrayUtil.isEmpty( kaleoTaskInstanceTokenQuery.getAssetTypes()) && (kaleoTaskInstanceTokenQuery.getDueDateGT() == null) && (kaleoTaskInstanceTokenQuery.getDueDateLT() == null))); sql = CustomSQLUtil.appendCriteria(sql, ")"); sql = CustomSQLUtil.replaceAndOperator( sql, kaleoTaskInstanceTokenQuery.isAndOperator()); } OrderByComparator<KaleoTaskInstanceToken> obc = kaleoTaskInstanceTokenQuery.getOrderByComparator(); if (obc != null) { StringBundler sb = new StringBundler(sql); appendOrderByComparator(sb, _ORDER_BY_ENTITY_ALIAS, obc); sql = sb.toString(); String[] orderByFields = obc.getOrderByFields(); sb = new StringBundler(orderByFields.length * 3 + 1); sb.append( "DISTINCT KaleoTaskInstanceToken.kaleoTaskInstanceTokenId"); for (String orderByField : orderByFields) { if (orderByField.equals("kaleoTaskInstanceTokenId")) { continue; } sb.append(", "); sb.append(_ORDER_BY_ENTITY_ALIAS); sb.append(orderByField); } sql = sql.replace( "DISTINCT KaleoTaskInstanceToken.kaleoTaskInstanceTokenId", sb.toString()); } SQLQuery q = session.createSynchronizedSQLQuery(sql); if (count) { q.addScalar(COUNT_COLUMN_NAME, Type.LONG); } else { q.addScalar("KaleoTaskInstanceTokenId", Type.LONG); } QueryPos qPos = QueryPos.getInstance(q); qPos.add(kaleoTaskInstanceTokenQuery.getCompanyId()); setAssigneeClassName(qPos, kaleoTaskInstanceTokenQuery); setAssigneeClassPK(qPos, kaleoTaskInstanceTokenQuery); setCompleted(qPos, kaleoTaskInstanceTokenQuery); setKaleoInstanceId(qPos, kaleoTaskInstanceTokenQuery); setAssetPrimaryKey(qPos, kaleoTaskInstanceTokenQuery); setAssetType(qPos, kaleoTaskInstanceTokenQuery); setDueDateGT(qPos, kaleoTaskInstanceTokenQuery); setDueDateLT(qPos, kaleoTaskInstanceTokenQuery); setTaskName(qPos, kaleoTaskInstanceTokenQuery); return q; } protected String getAssetPrimaryKey( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Long[] assetPrimaryKeys = kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys(); if (ArrayUtil.isEmpty(assetPrimaryKeys)) { return StringPool.BLANK; } StringBundler sb = new StringBundler(assetPrimaryKeys.length + 1); sb.append(StringPool.OPEN_PARENTHESIS); for (int i = 0; i < assetPrimaryKeys.length - 1; i++) { sb.append("(KaleoTaskInstanceToken.classPK = ?) OR "); } sb.append("(KaleoTaskInstanceToken.classPK = ?))"); return sb.toString(); } protected String getAssetTypes( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery, boolean firstCriteria) { String[] assetTypes = kaleoTaskInstanceTokenQuery.getAssetTypes(); if (ArrayUtil.isEmpty(assetTypes)) { return StringPool.BLANK; } assetTypes = CustomSQLUtil.keywords( kaleoTaskInstanceTokenQuery.getAssetTypes()); if (ArrayUtil.isEmpty(assetTypes)) { return StringPool.BLANK; } StringBundler sb = new StringBundler(assetTypes.length + 1); if (!firstCriteria) { sb.append(" AND ("); } else { sb.append(StringPool.OPEN_PARENTHESIS); } for (int i = 0; i < assetTypes.length - 1; i++) { sb.append("(lower(KaleoTaskInstanceToken.className) LIKE ?) OR "); } sb.append("(lower(KaleoTaskInstanceToken.className) LIKE ?))"); return sb.toString(); } protected String getAssigneeClassName( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { String assigneeClassName = kaleoTaskInstanceTokenQuery.getAssigneeClassName(); if (Validator.isNull(assigneeClassName)) { return StringPool.BLANK; } return "AND (KaleoTaskAssignmentInstance.assigneeClassName = ?)"; } protected String getAssigneeClassPK( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Long assigneeClassPK = kaleoTaskInstanceTokenQuery.getAssigneeClassPK(); if (assigneeClassPK == null) { return StringPool.BLANK; } return "AND (KaleoTaskAssignmentInstance.assigneeClassPK = ?)"; } protected String getCompleted( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Boolean completed = kaleoTaskInstanceTokenQuery.isCompleted(); if (completed == null) { return StringPool.BLANK; } return "AND (KaleoTaskInstanceToken.completed = ?)"; } protected String getDueDateGT( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery, boolean firstCriteria) { Date dueDateGT = kaleoTaskInstanceTokenQuery.getDueDateGT(); if (dueDateGT == null) { return StringPool.BLANK; } if (firstCriteria) { return FIRST_DUE_DATE_GT; } return NOT_FIRST_DUE_DATE_GT; } protected String getDueDateLT( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery, boolean firstCriteria) { Date dueDateLT = kaleoTaskInstanceTokenQuery.getDueDateLT(); if (dueDateLT == null) { return StringPool.BLANK; } if (firstCriteria) { return FIRST_DUE_DATE_LT; } return NOT_FIRST_DUE_DATE_LT; } protected String getKaleoInstanceId( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Long kaleoInstanceId = kaleoTaskInstanceTokenQuery.getKaleoInstanceId(); if (kaleoInstanceId == null) { return StringPool.BLANK; } return "AND (KaleoTaskInstanceToken.kaleoInstanceId = ?)"; } protected String getRoleIds( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Boolean searchByUserRoles = kaleoTaskInstanceTokenQuery.isSearchByUserRoles(); if (searchByUserRoles != null) { return StringPool.BLANK; } List<Long> roleIds = kaleoTaskInstanceTokenQuery.getRoleIds(); if ((roleIds == null) || roleIds.isEmpty()) { return StringPool.BLANK; } StringBundler sb = new StringBundler((roleIds.size() * 2) + 1); sb.append("AND (KaleoTaskAssignmentInstance.assigneeClassPK IN ("); Iterator<Long> itr = roleIds.iterator(); while (itr.hasNext()) { sb.append(itr.next()); if (itr.hasNext()) { sb.append(", "); } } sb.append("))"); return sb.toString(); } protected List<Long> getSearchByUserRoleIds( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) throws Exception { List<Long> roleIds = RoleUtil.getRoleIds( kaleoTaskInstanceTokenQuery.getServiceContext()); User user = UserLocalServiceUtil.getUserById( kaleoTaskInstanceTokenQuery.getUserId()); List<Group> groups = new ArrayList<>(); groups.addAll(user.getGroups()); groups.addAll( GroupLocalServiceUtil.getOrganizationsGroups( user.getOrganizations())); groups.addAll( GroupLocalServiceUtil.getOrganizationsRelatedGroups( user.getOrganizations())); groups.addAll( GroupLocalServiceUtil.getUserGroupsGroups(user.getUserGroups())); groups.addAll( GroupLocalServiceUtil.getUserGroupsRelatedGroups( user.getUserGroups())); for (Group group : groups) { List<Role> roles = RoleLocalServiceUtil.getGroupRoles( group.getGroupId()); for (Role role : roles) { roleIds.add(role.getRoleId()); } } return roleIds; } protected String getSearchByUserRoles( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) throws Exception { Boolean searchByUserRoles = kaleoTaskInstanceTokenQuery.isSearchByUserRoles(); if (searchByUserRoles == null) { return StringPool.BLANK; } if (searchByUserRoles) { List<Long> roleIds = getSearchByUserRoleIds( kaleoTaskInstanceTokenQuery); Map<Long, Set<Long>> roleIdGroupIdsMap = new HashMap<>(); List<UserGroupRole> userGroupRoles = UserGroupRoleLocalServiceUtil.getUserGroupRoles( kaleoTaskInstanceTokenQuery.getUserId()); for (UserGroupRole userGroupRole : userGroupRoles) { mapRoleIdGroupId( userGroupRole.getRoleId(), userGroupRole.getGroupId(), roleIdGroupIdsMap); } List<UserGroupGroupRole> userGroupGroupRoles = getUserGroupGroupRoles(kaleoTaskInstanceTokenQuery.getUserId()); for (UserGroupGroupRole userGroupGroupRole : userGroupGroupRoles) { mapRoleIdGroupId( userGroupGroupRole.getRoleId(), userGroupGroupRole.getGroupId(), roleIdGroupIdsMap); } if (roleIds.isEmpty() && roleIdGroupIdsMap.isEmpty()) { return StringPool.BLANK; } StringBundler sb = new StringBundler(); sb.append("AND ("); sb.append("KaleoTaskAssignmentInstance.assigneeClassName = '"); sb.append(Role.class.getName()); sb.append("' "); if (!roleIds.isEmpty()) { sb.append("AND ("); sb.append("KaleoTaskAssignmentInstance.assigneeClassPK IN ("); for (int i = 0; i < roleIds.size(); i++) { sb.append(roleIds.get(i)); if (i < (roleIds.size() - 1)) { sb.append(", "); } } } if (roleIdGroupIdsMap.isEmpty()) { sb.append(")))"); } else { if (!roleIds.isEmpty()) { sb.append(") OR "); } else { sb.append("AND "); } for (Map.Entry<Long, Set<Long>> entry : roleIdGroupIdsMap.entrySet()) { sb.append( "((KaleoTaskAssignmentInstance.assigneeClassPK = "); sb.append(entry.getKey()); sb.append(") AND "); sb.append("(KaleoTaskAssignmentInstance.groupId IN ("); Set<Long> groupIds = entry.getValue(); Iterator<Long> itr = groupIds.iterator(); while (itr.hasNext()) { sb.append(itr.next()); if (itr.hasNext()) { sb.append(", "); } } sb.append("))) "); sb.append("OR "); } sb.setIndex(sb.index() - 1); if (!roleIds.isEmpty()) { sb.append("))"); } else { sb.append(")"); } } return sb.toString(); } StringBundler sb = new StringBundler(6); sb.append("AND ((KaleoTaskAssignmentInstance.assigneeClassName = '"); sb.append(User.class.getName()); sb.append("') "); sb.append("AND (KaleoTaskAssignmentInstance.assigneeClassPK = "); sb.append(kaleoTaskInstanceTokenQuery.getUserId()); sb.append("))"); return sb.toString(); } @Override protected Map<String, Integer> getTableColumnsMap() { return KaleoTaskInstanceTokenModelImpl.TABLE_COLUMNS_MAP; } protected String getTaskName( KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery, boolean firstCriteria) { String taskName = kaleoTaskInstanceTokenQuery.getTaskName(); if (Validator.isNull(taskName)) { return StringPool.BLANK; } String[] taskNames = CustomSQLUtil.keywords(taskName, false); if (ArrayUtil.isEmpty(taskNames)) { return StringPool.BLANK; } StringBundler sb = new StringBundler(taskNames.length * 2 + 1); if (!firstCriteria) { sb.append("[$AND_OR_CONNECTOR$] ("); } else { sb.append(StringPool.OPEN_PARENTHESIS); } for (int i = 0; i < taskNames.length; i++) { sb.append( "(lower(KaleoTaskInstanceToken.kaleoTaskName) LIKE lower(?))"); sb.append(" OR "); } sb.setIndex(sb.index() - 1); sb.append(")"); return sb.toString(); } protected List<UserGroupGroupRole> getUserGroupGroupRoles(long userId) throws Exception { List<UserGroupGroupRole> userGroupGroupRoles = new ArrayList<>(); List<UserGroup> userGroups = UserGroupLocalServiceUtil.getUserUserGroups(userId); for (UserGroup userGroup : userGroups) { userGroupGroupRoles.addAll( UserGroupGroupRoleLocalServiceUtil.getUserGroupGroupRoles( userGroup.getUserGroupId())); } return userGroupGroupRoles; } protected void mapRoleIdGroupId( long roleId, long groupId, Map<Long, Set<Long>> roleIdGroupIdsMap) { Set<Long> groupIds = roleIdGroupIdsMap.get(roleId); if (groupIds == null) { groupIds = new TreeSet<>(); roleIdGroupIdsMap.put(roleId, groupIds); } groupIds.add(groupId); } protected void setAssetPrimaryKey( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Long[] assetPrimaryKeys = kaleoTaskInstanceTokenQuery.getAssetPrimaryKeys(); if (ArrayUtil.isEmpty(assetPrimaryKeys)) { return; } qPos.add(assetPrimaryKeys); } protected void setAssetType( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { String[] assetTypes = kaleoTaskInstanceTokenQuery.getAssetTypes(); if (ArrayUtil.isEmpty(assetTypes)) { return; } assetTypes = CustomSQLUtil.keywords(assetTypes, false); qPos.add(assetTypes); } protected void setAssigneeClassName( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { String assigneeClassName = kaleoTaskInstanceTokenQuery.getAssigneeClassName(); if (Validator.isNull(assigneeClassName)) { return; } qPos.add(assigneeClassName); } protected void setAssigneeClassPK( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Long assigneeClassPK = kaleoTaskInstanceTokenQuery.getAssigneeClassPK(); if (assigneeClassPK == null) { return; } qPos.add(assigneeClassPK); } protected void setCompleted( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Boolean completed = kaleoTaskInstanceTokenQuery.isCompleted(); if (completed == null) { return; } qPos.add(completed); } protected void setDueDateGT( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Date dueDateGT = kaleoTaskInstanceTokenQuery.getDueDateGT(); if (dueDateGT == null) { return; } Timestamp dueDateGT_TS = CalendarUtil.getTimestamp(dueDateGT); qPos.add(dueDateGT_TS); } protected void setDueDateLT( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Date dueDateLT = kaleoTaskInstanceTokenQuery.getDueDateLT(); if (dueDateLT == null) { return; } Timestamp dueDateLT_TS = CalendarUtil.getTimestamp(dueDateLT); qPos.add(dueDateLT_TS); } protected void setKaleoInstanceId( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { Long kaleoInstanceId = kaleoTaskInstanceTokenQuery.getKaleoInstanceId(); if (kaleoInstanceId == null) { return; } qPos.add(kaleoInstanceId); } protected void setTaskName( QueryPos qPos, KaleoTaskInstanceTokenQuery kaleoTaskInstanceTokenQuery) { String taskName = kaleoTaskInstanceTokenQuery.getTaskName(); if (Validator.isNull(taskName)) { return; } String[] taskNames = CustomSQLUtil.keywords(taskName, false); qPos.add(taskNames); } protected static final String FIRST_DUE_DATE_GT = "(KaleoTaskInstanceToken.dueDate >= ? [$AND_OR_NULL_CHECK$])"; protected static final String FIRST_DUE_DATE_LT = "(KaleoTaskInstanceToken.dueDate <= ? [$AND_OR_NULL_CHECK$])"; protected static final String NOT_FIRST_DUE_DATE_GT = "[$AND_OR_CONNECTOR$] (KaleoTaskInstanceToken.dueDate >= ? " + "[$AND_OR_NULL_CHECK$])"; protected static final String NOT_FIRST_DUE_DATE_LT = "[$AND_OR_CONNECTOR$] (KaleoTaskInstanceToken.dueDate <= ? " + "[$AND_OR_NULL_CHECK$])"; private static final String _ORDER_BY_ENTITY_ALIAS = "KaleoTaskInstanceToken."; }