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 testForCountUnknownProperty() {
        dialect.setDebugMode(false);
        String expected = "SELECT COUNT(oid) FROM object WHERE type_id IN (:types)";
        Filter filter = Predicates.equal("foo.bar.baz", "quux");
        QueryBuilder<?> builder =
                QueryBuilder.forCount(dialect, WorkspaceInfo.class, dbMappings).filter(filter);
        String actual = builder.build();
        assertEquals(expected, actual);
        assertEquals(Filter.INCLUDE, builder.getSupportedFilter());
        assertEquals(filter, builder.getUnsupportedFilter());
        assertFalse(builder.isOffsetLimitApplied());
        assertEquals(1, builder.getNamedParameters().size());
    }