.filter(concept -> concept != null && concept.getSandboxStatus() != SandboxStatus.PUBLIC) .flatMap(concept -> { try { return ontologyRepository.getConceptAndAncestors(concept, workspaceId).stream() .filter(conceptOrAncestor -> conceptOrAncestor.getSandboxStatus() != SandboxStatus.PUBLIC) .map(conceptOrAncestor -> { try {
public SandboxStatus getSandboxStatus() { for (Concept concept : getConcepts()) { SandboxStatus sandboxStatus = concept.getSandboxStatus(); if (sandboxStatus != SandboxStatus.PUBLIC) { return sandboxStatus; } } for (Relationship relationship : getRelationships()) { SandboxStatus sandboxStatus = relationship.getSandboxStatus(); if (sandboxStatus != SandboxStatus.PUBLIC) { return sandboxStatus; } } for (OntologyProperty property : getProperties()) { SandboxStatus sandboxStatus = property.getSandboxStatus(); if (sandboxStatus != SandboxStatus.PUBLIC) { return sandboxStatus; } } return SandboxStatus.PUBLIC; } }
if (concepts.size() == 1) { for (Concept concept : concepts) { if (concept.getSandboxStatus().equals(SandboxStatus.PRIVATE)) { for (Relationship relationship : getRelationships(workspaceId)) { if (relationship.getDomainConceptIRIs().contains(conceptTypeIri) ||
@Override public void internalPublishConcept(Concept concept, User user, String workspaceId) { assert (concept instanceof VertexiumConcept); if (concept.getSandboxStatus() != SandboxStatus.PUBLIC) { Vertex vertex = ((VertexiumConcept) concept).getVertex(); VisibilityJson visibilityJson = VisalloProperties.VISIBILITY_JSON.getPropertyValue(vertex); if (visibilityJson != null && visibilityJson.getWorkspaces().contains(workspaceId)) { visibilityJson = VisibilityJson.removeFromAllWorkspace(visibilityJson); VisalloVisibility visalloVisibility = visibilityTranslator.toVisibility(visibilityJson); try (GraphUpdateContext ctx = graphRepository.beginGraphUpdate(Priority.NORMAL, user, getAuthorizations(workspaceId))) { ctx.update(vertex, new Date(), visibilityJson, null, vertexUpdateCtx -> { ExistingElementMutation<Vertex> mutation = (ExistingElementMutation<Vertex>) vertexUpdateCtx.getMutation(); mutation.alterElementVisibility(visalloVisibility.getVisibility()); }); removeEdge(ctx, workspaceId, vertex.getId()); } } } }
if (concept.getProperties().contains(property)) { if (!domainIris.remove(concept.getIRI())) { if (isPublic(workspaceId) || concept.getSandboxStatus() == SandboxStatus.PRIVATE) { concept.getProperties().remove(property);
if (isPublic(workspaceId) || concept.getSandboxStatus() == SandboxStatus.PRIVATE) { concept.getProperties().add(property);
concept.getMetadata().put(additionalProperty.getKey(), additionalProperty.getValue()); if (this.getSandboxStatus() != null) { concept.setSandboxStatus(this.getSandboxStatus());
private void doTestPublishVertexAdd(String conceptIri, String expectedError, SandboxStatus expectedConceptStatus) { Authorizations authorizations = getAuthorizationRepository().getGraphAuthorizations(user, workspace.getWorkspaceId()); Vertex vertex = getGraphRepository().addVertex("junit-vertex", conceptIri, "", workspace.getWorkspaceId(), null, null, user, authorizations); getWorkspaceRepository().updateEntityOnWorkspace(workspace, vertex.getId(), user); ClientApiVertexPublishItem publishItem = new ClientApiVertexPublishItem(); publishItem.setVertexId(vertex.getId()); publishItem.setAction(ClientApiPublishItem.Action.ADD_OR_UPDATE); ClientApiWorkspacePublishResponse response = getWorkspaceRepository().publish(new ClientApiPublishItem[]{publishItem}, user, workspace.getWorkspaceId(), authorizations); if (expectedError != null) { assertPublishFailure(response, workspace, getGraph().getVertex(vertex.getId(), authorizations), expectedError); } else { assertPublishSuccess(response, workspace, getGraph().getVertex(vertex.getId(), authorizations)); } if (expectedConceptStatus != null) { Concept concept = getOntologyRepository().getConceptByIRI(conceptIri, workspace.getWorkspaceId()); assertEquals(expectedConceptStatus, concept.getSandboxStatus()); } }