private Filter wrapTenantIds()

in java/core/src/main/java/com/aliyun/openservices/tablestore/agent/knowledge/KnowledgeStoreImpl.java [534:556]


    private Filter wrapTenantIds(Set<String> tenantIds, Filter metadataFilter) {
        if (enableMultiTenant) {
            if (tenantIds == null || tenantIds.isEmpty()) {
                return metadataFilter;
            }
            if (tenantIds.size() == 1) {
                if (metadataFilter == null) {
                    return Filters.eq(Document.DOCUMENT_TENANT_ID, tenantIds.iterator().next());
                }
                return Filters.and(Filters.eq(Document.DOCUMENT_TENANT_ID, tenantIds.iterator().next()), metadataFilter);
            } else {
                if (metadataFilter == null) {
                    return Filters.in(Document.DOCUMENT_TENANT_ID, new ArrayList<>(tenantIds));
                }
                return Filters.and(Filters.in(Document.DOCUMENT_TENANT_ID, new ArrayList<>(tenantIds)), metadataFilter);
            }
        } else {
            if (tenantIds == null || tenantIds.isEmpty()) {
                return metadataFilter;
            }
            throw Exceptions.illegalArgument("the multi-tenant capability is not enabled, but the 'tenant id' is set");
        }
    }