package io.lumify.securegraph.model.workspace;
import io.lumify.core.model.workspace.Workspace;
import io.lumify.core.model.workspace.WorkspaceLumifyProperties;
import org.securegraph.Authorizations;
import org.securegraph.FetchHint;
import org.securegraph.Graph;
import org.securegraph.Vertex;
public class SecureGraphWorkspace implements Workspace {
private static final long serialVersionUID = -1692706831716776578L;
private String displayTitle;
private String workspaceId;
private transient Vertex workspaceVertex;
public SecureGraphWorkspace(Vertex workspaceVertex) {
this.displayTitle = WorkspaceLumifyProperties.TITLE.getPropertyValue(workspaceVertex);
this.workspaceId = workspaceVertex.getId();
this.workspaceVertex = workspaceVertex;
}
@Override
public String getWorkspaceId() {
return workspaceId;
}
@Override
public String getDisplayTitle() {
return displayTitle;
}
public Vertex getVertex(Graph graph, boolean includeHidden, Authorizations authorizations) {
if (this.workspaceVertex == null) {
this.workspaceVertex = graph.getVertex(getWorkspaceId(), includeHidden ? FetchHint.ALL_INCLUDING_HIDDEN : FetchHint.ALL, authorizations);
}
return this.workspaceVertex;
}
}