public static ConditionTemplate schemaTypeIsNotIn(List<String> types) { List<LogicalSearchValueCondition> schemaTypesCriteria = new ArrayList<>(); for (String type : types) { schemaTypesCriteria.add(LogicalSearchQueryOperators.startingWithText(type)); } return ConditionTemplate.field(Schemas.SCHEMA, not(any(schemaTypesCriteria))); }
private void setCategoriesAndClassificationIdsList() { SearchServices searchServices = getSearchServices(); MetadataSchema categorySchema = getMetadataSchemasManager().getSchemaTypes(COLLECTION).getSchema(Category.DEFAULT_SCHEMA); MetadataSchema administrativeUnitSchema = getMetadataSchemasManager() .getSchemaTypes(COLLECTION) .getSchema(AdministrativeUnit.DEFAULT_SCHEMA); Metadata filingSpaceMetadata = administrativeUnitSchema.getMetadata(AdministrativeUnit.FILING_SPACES); Metadata parentCategoryMetadata = categorySchema.getMetadata("parent"); level1And2CategoryIds = searchServices.searchRecordIds( new LogicalSearchQuery( LogicalSearchQueryOperators.from(categorySchema) .where(parentCategoryMetadata) .isNotNull())); administrativeUnits = searchServices.search( new LogicalSearchQuery( LogicalSearchQueryOperators.from(administrativeUnitSchema) .where(filingSpaceMetadata) .isNotNull())); }