private <TElement extends Element> Map<String, Object> getFieldsToSet(Graph graph, ExistingElementMutation<TElement> mutation) { TElement element = mutation.getElement(); Map<String, Object> fieldsToSet = new HashMap<>(); mutation.getProperties().forEach(p -> addExistingValuesToFieldMap(graph, element, p.getName(), p.getVisibility(), fieldsToSet)); mutation.getPropertyDeletes().forEach(p -> addExistingValuesToFieldMap(graph, element, p.getName(), p.getVisibility(), fieldsToSet)); mutation.getPropertySoftDeletes().forEach(p -> addExistingValuesToFieldMap(graph, element, p.getName(), p.getVisibility(), fieldsToSet)); return fieldsToSet; }
private <TElement extends Element> Map<String, Object> getFieldsToSet(Graph graph, ExistingElementMutation<TElement> mutation) { TElement element = mutation.getElement(); Map<String, Object> fieldsToSet = new HashMap<>(); mutation.getProperties().forEach(p -> addExistingValuesToFieldMap(graph, element, p.getName(), p.getVisibility(), fieldsToSet)); mutation.getPropertyDeletes().forEach(p -> addExistingValuesToFieldMap(graph, element, p.getName(), p.getVisibility(), fieldsToSet)); mutation.getPropertySoftDeletes().forEach(p -> addExistingValuesToFieldMap(graph, element, p.getName(), p.getVisibility(), fieldsToSet)); return fieldsToSet; }
private <TElement extends Element> IndexInfo addMutationPropertiesToIndex(Graph graph, ExistingElementMutation<TElement> mutation) { TElement element = mutation.getElement(); IndexInfo indexInfo = addPropertiesToIndex(graph, element, mutation.getProperties()); mutation.getAlterPropertyVisibilities().stream() .filter(p -> p.getExistingVisibility() != null && !p.getExistingVisibility().equals(p.getVisibility())) .forEach(p -> { PropertyDefinition propertyDefinition = getPropertyDefinition(graph, p.getName()); if (propertyDefinition != null) { try { addPropertyDefinitionToIndex(graph, indexInfo, p.getName(), p.getVisibility(), propertyDefinition); } catch (Exception e) { throw new VertexiumException("Unable to add property to index: " + p, e); } } }); if (mutation.getNewElementVisibility() != null) { try { String newFieldName = addVisibilityToPropertyName(graph, ELEMENT_TYPE_FIELD_NAME, mutation.getNewElementVisibility()); addPropertyToIndex(graph, indexInfo, newFieldName, element.getVisibility(), String.class, false, false, false); } catch (Exception e) { throw new VertexiumException("Unable to add new element type visibility to index", e); } } return indexInfo; }
private <TElement extends Element> IndexInfo addMutationPropertiesToIndex(Graph graph, ExistingElementMutation<TElement> mutation) { TElement element = mutation.getElement(); IndexInfo indexInfo = addPropertiesToIndex(graph, element, mutation.getProperties()); mutation.getAlterPropertyVisibilities().stream() .filter(p -> p.getExistingVisibility() != null && !p.getExistingVisibility().equals(p.getVisibility())) .forEach(p -> { PropertyDefinition propertyDefinition = getPropertyDefinition(graph, p.getName()); if (propertyDefinition != null) { try { addPropertyDefinitionToIndex(graph, indexInfo, p.getName(), p.getVisibility(), propertyDefinition); } catch (Exception e) { throw new VertexiumException("Unable to add property to index: " + p, e); } } }); if (mutation.getNewElementVisibility() != null) { try { String newFieldName = addVisibilityToPropertyName(graph, ELEMENT_TYPE_FIELD_NAME, mutation.getNewElementVisibility()); addPropertyToIndex(graph, indexInfo, newFieldName, element.getVisibility(), String.class, false, false, false); } catch (Exception e) { throw new VertexiumException("Unable to add new element type visibility to index", e); } } return indexInfo; }
Iterable<Property> properties = mutation.getProperties();
Iterable<Property> properties = mutation.getProperties();