} catch (Exception ex) {
LOGGER.warn(String.format("Validation error propertyName: %s, valueStr: %s", propertyName, valueStr), ex);
throw new LumifyException(ex.getMessage(), ex);
}
Vertex graphVertex = graph.getVertex(graphVertexId, authorizations);
GraphUtil.VisibilityAndElementMutation<Vertex> setPropertyResult = GraphUtil.setProperty(
graph,
graphVertex,
propertyName,
propertyKey,
value,
metadata,
visibilitySource,
workspaceId,
this.visibilityTranslator,
justificationText,
sourceJson,
user,
authorizations);
auditRepository.auditVertexElementMutation(AuditAction.UPDATE, setPropertyResult.elementMutation, graphVertex, "", user, setPropertyResult.visibility.getVisibility());
graphVertex = setPropertyResult.elementMutation.save(authorizations);
graph.flush();
Workspace workspace = workspaceRepository.findById(workspaceId, user);
this.workspaceRepository.updateEntityOnWorkspace(workspace, graphVertex.getId(), false, null, user);
// TODO: use property key from client when we implement multi-valued properties
this.workQueueRepository.pushGraphPropertyQueue(graphVertex, null, propertyName, workspaceId, visibilitySource);
return ClientApiConverter.toClientApi(graphVertex, workspaceId, authorizations);