Language: Java
Label: safe
CWE: CWE-89 \u2014 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.

Code:
    public void testForIdsSort3WithFilterDebugDisabled() {
        String expected =
                "SELECT id FROM (SELECT oid, id FROM object WHERE type_id IN (:types) AND oid IN "
                        + "(SELECT oid FROM object_property WHERE property_type IN (:ptype0) AND value = :value0)) object "
                        + "LEFT JOIN (SELECT oid, value prop0 FROM object_property "
                        + "WHERE property_type IN (:sortProperty0)) subSelect0 ON object.oid = subSelect0.oid "
                        + "LEFT JOIN (SELECT oid, value prop1 FROM object_property "
                        + "WHERE property_type IN (:sortProperty1)) subSelect1 ON object.oid = subSelect1.oid "
                        + "LEFT JOIN (SELECT oid, value prop2 FROM object_property "
                        + "WHERE property_type IN (:sortProperty2)) subSelect2 ON object.oid = subSelect2.oid "
                        + "ORDER BY prop0 ASC, prop1 DESC, prop2 ASC";
        verifyForIds(
                expected,
                false,
                Predicates.equal("name", "quux"),
                Predicates.asc("foo"),
                Predicates.desc("bar"),
                Predicates.asc("baz"));
    }