/** * Internal helper method to retrieve storage pools by given details or storage tags. * @param dcId data center id * @param podId pod id * @param clusterId cluster id * @param scope score * @param sqlValues sql string containing details or storage tags values required to query * @param valuesType enumerate to indicate if values are related to details or storage tags * @param valuesLength values length * @return list of storage pools matching conditions */ protected List<StoragePoolVO> findPoolsByDetailsOrTagsInternal(long dcId, long podId, Long clusterId, ScopeType scope, String sqlValues, ValueType valuesType, int valuesLength) { String sqlPrefix = valuesType.equals(ValueType.DETAILS) ? DetailsSqlPrefix : TagsSqlPrefix; String sqlSuffix = valuesType.equals(ValueType.DETAILS) ? DetailsSqlSuffix : TagsSqlSuffix; String sql = getSqlPreparedStatement(sqlPrefix, sqlSuffix, sqlValues, clusterId); return searchStoragePoolsPreparedStatement(sql, dcId, podId, clusterId, scope, valuesLength); }