+ private static void addAbsoluteParentXpathSearchCondition(final CpsPathQuery cpsPathQuery,
+ final StringBuilder sqlStringBuilder,
+ final Map<String, Object> queryParameters,
+ final AnchorEntity anchorEntity) {
+ if (CpsPathPrefixType.ABSOLUTE.equals(cpsPathQuery.getCpsPathPrefixType())) {
+ if (cpsPathQuery.getNormalizedParentPath().isEmpty()) {
+ sqlStringBuilder.append(" AND parent_id IS NULL");
+ } else {
+ if (anchorEntity == ACROSS_ALL_ANCHORS) {
+ sqlStringBuilder.append(" AND parent_id IN (SELECT id FROM fragment WHERE xpath = :parentXpath)");
+ } else {
+ sqlStringBuilder.append(" AND parent_id = (SELECT id FROM fragment WHERE xpath = :parentXpath"
+ + " AND anchor_id = :anchorId)");
+ }
+ queryParameters.put("parentXpath", cpsPathQuery.getNormalizedParentPath());
+ }
+ }
+ }
+