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");
}
}