CMIS - Поиск свойств списка

С CMIS я могу добавить свойство к объекту. Свойство может иметь одно значение или многозначное свойство. Если у вас есть свойство с несколькими значениями для нескольких объектов, как вы будете искать все объекты, у которых есть это свойство, и свойство содержит определенное значение или ряд определенных значений?

Например. (Пример взят здесь)

CmisObject cmisobject = ....

Map<String, Object> updateProperties = new HashMap<String, Object>();

List<String> shoppingList = new ArrayList<String>();
shoppingList.add("milk");
shoppingList.add("bread");
shoppingList.add("cheese");
updateProperties.put("my:shopping.list", shoppingList); // multi-value property

cmisobject.updateProperties(updateProperties);

Теперь, если я хочу выполнить запрос для всех объектов, у которых есть свойство my:shopping.list и где свойство содержит значение bread или значения milk AND cheese, как мне это сделать?

1 ответ

Попробуй это:

boolean isPropertyPresent(Map<String, Object> updateProperties) {//should use List<String> instead of Object
    List<String> shoppingList = (List<String>) updateProperties.get("my:shopping.list");
    if (shoppingList != null) {
         return shoppingList.contains("bread") || (shoppingList.contains("milk") && shoppingList.contains("cheese"));
    }
    return false;
}
Другие вопросы по тегам