private void appendResourceBaseCondition(StringBuilder sb) { SnapshotDto baseSnapshot = context.getBaseSnapshot(); if (baseSnapshot != null) { if (filter.isOnBaseResourceChildren()) { sb.append(" AND s.parent_snapshot_id=").append(baseSnapshot.getId()); } else { Long rootSnapshotId = baseSnapshot.getRootId() != null ? baseSnapshot.getRootId() : baseSnapshot.getId(); sb.append(" AND s.root_snapshot_id=").append(rootSnapshotId); sb.append(" AND s.path LIKE '") .append(StringUtils.defaultString(baseSnapshot.getPath())) .append(baseSnapshot.getId()) .append(".%'"); } } }
private void appendResourceConditions(StringBuilder sb) { sb.append(" s.status='P' AND s.islast=").append(database.getDialect().getTrueSqlValue()); if (context.getBaseSnapshot() == null) { sb.append(" AND p.copy_resource_id IS NULL "); } if (!filter.getResourceQualifiers().isEmpty()) { sb.append(" AND s.qualifier IN "); appendInStatement(filter.getResourceQualifiers(), sb); } if (!filter.getResourceScopes().isEmpty()) { sb.append(" AND s.scope IN "); appendInStatement(filter.getResourceScopes(), sb); } appendDateConditions(sb); appendFavouritesCondition(sb); appendResourceNameCondition(sb); appendResourceKeyCondition(sb); appendResourceBaseCondition(sb); }