@Override public void deleteProperties(Graph graph, Element element, Collection<PropertyDescriptor> propertyList, Authorizations authorizations) { List<String> fields = new ArrayList<>(); for (PropertyDescriptor p : propertyList) { String fieldName = addVisibilityToPropertyName(graph, p.getName(), p.getVisibility()); fields.add(fieldName); fields.add(fieldName + "_e"); } removeFieldsFromDocument(graph, element, fields); }
@Override public void deleteProperties(Graph graph, Element element, Collection<PropertyDescriptor> propertyList, Authorizations authorizations) { List<String> fields = new ArrayList<>(); for (PropertyDescriptor p : propertyList) { String fieldName = deflatePropertyName(graph, p.getName(), p.getVisibility()); fields.add(fieldName); fields.add(fieldName + "_e"); } removeFieldsFromDocument(element, fields); }
@Override public void deleteProperty(Graph graph, Element element, PropertyDescriptor property, Authorizations authorizations) { String fieldName = addVisibilityToPropertyName(graph, property.getName(), property.getVisibility()); removeFieldsFromDocument(graph, element, fieldName); removeFieldsFromDocument(graph, element, fieldName + "_e"); }
@Override public void deleteProperty(Graph graph, Element element, PropertyDescriptor property, Authorizations authorizations) { String fieldName = deflatePropertyName(graph, property.getName(), property.getVisibility()); removeFieldsFromDocument(element, fieldName); removeFieldsFromDocument(element, fieldName + "_e"); }
@Override public void deleteProperties(Graph graph, Element element, Collection<PropertyDescriptor> propertyList, Authorizations authorizations) { List<String> fieldsToRemove = new ArrayList<>(); Map<String, Object> fieldsToSet = new HashMap<>(); propertyList.forEach(p -> { String fieldName = addVisibilityToPropertyName(graph, p.getName(), p.getVisibility()); fieldsToRemove.add(fieldName); addExistingValuesToFieldMap(graph, element, p.getName(), p.getVisibility(), fieldsToSet); }); String documentId = getIdStrategy().createElementDocId(element); String indexName = getIndexName(element); IndexInfo indexInfo = ensureIndexCreatedAndInitialized(indexName); UpdateRequestBuilder updateRequestBuilder = prepareUpdateFieldsOnDocument(indexInfo.getIndexName(), documentId, fieldsToSet, fieldsToRemove, Collections.emptyMap()); if (updateRequestBuilder != null) { getIndexRefreshTracker().pushChange(indexInfo.getIndexName()); addActionRequestBuilderForFlush(element, updateRequestBuilder); if (getConfig().isAutoFlush()) { flush(graph); } } }
@Override public void deleteProperties(Graph graph, Element element, Collection<PropertyDescriptor> propertyList, Authorizations authorizations) { List<String> fieldsToRemove = new ArrayList<>(); Map<String, Object> fieldsToSet = new HashMap<>(); propertyList.forEach(p -> { String fieldName = addVisibilityToPropertyName(graph, p.getName(), p.getVisibility()); fieldsToRemove.add(fieldName); addExistingValuesToFieldMap(graph, element, p.getName(), p.getVisibility(), fieldsToSet); }); String documentId = getIdStrategy().createElementDocId(element); String indexName = getIndexName(element); IndexInfo indexInfo = ensureIndexCreatedAndInitialized(indexName); UpdateRequestBuilder updateRequestBuilder = prepareUpdateFieldsOnDocument(indexInfo.getIndexName(), documentId, fieldsToSet, fieldsToRemove, Collections.emptyMap()); if (updateRequestBuilder != null) { getIndexRefreshTracker().pushChange(indexInfo.getIndexName()); addActionRequestBuilderForFlush(element, updateRequestBuilder); if (getConfig().isAutoFlush()) { flush(graph); } } }