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