From ec24a6e921e0f284e4620e3651de5eaa08d48f8e Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Thu, 28 Mar 2013 18:33:42 -0700 Subject: [PATCH] CSPACE-5943: Check for workflow deleted state in query parameters sent with partial term matching request. --- .../client/java/RepositoryJavaClientImpl.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java b/services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java index 182199751..8fb2305dc 100644 --- a/services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java +++ b/services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java @@ -934,16 +934,22 @@ public class RepositoryJavaClientImpl implements RepositoryClient 'deleted') "; + + " ON tg.id = h1.id "; + + String whereClause = + " WHERE (tg.termdisplayname ILIKE ?) "; List params = new ArrayList<>(); params.add(partialTerm + JDBCTools.SQL_WILDCARD); + + String includeDeleted = queryParams.getFirst(WorkflowClient.WORKFLOW_QUERY_NONDELETED); + if (includeDeleted != null && includeDeleted.equalsIgnoreCase(Boolean.FALSE.toString())) { + joinClauses = joinClauses + + " LEFT JOIN misc " + + " ON misc.id = hierarchy.id "; + whereClause = whereClause + + " AND (misc.lifecyclestate <> '" + WorkflowClient.WORKFLOWSTATE_DELETED + "') "; + } // If a particular authority is specified, restrict the query further // to records within that authority -- 2.47.3