package io.lumify.core.model.workspace; import org.securegraph.Authorizations; import org.securegraph.FetchHint; import org.securegraph.Graph; import org.securegraph.Vertex; import org.securegraph.util.ConvertingIterable; public class WorkspaceEntity { private final String entityVertexId; private final boolean visible; private final Integer graphPositionX; private final Integer graphPositionY; private final String graphLayoutJson; public WorkspaceEntity(String entityVertexId, boolean visible, Integer graphPositionX, Integer graphPositionY, String graphLayoutJson) { this.entityVertexId = entityVertexId; this.visible = visible; this.graphPositionX = graphPositionX; this.graphPositionY = graphPositionY; this.graphLayoutJson = graphLayoutJson; } public String getEntityVertexId() { return entityVertexId; } public Integer getGraphPositionX() { return graphPositionX; } public Integer getGraphPositionY() { return graphPositionY; } public String getGraphLayoutJson() { return graphLayoutJson; } public boolean isVisible() { return visible; } public static Iterable<Vertex> toVertices(Graph graph, Iterable<WorkspaceEntity> workspaceEntities, boolean includeHidden, Authorizations authorizations) { Iterable<String> vertexIds = toVertexIds(workspaceEntities); return graph.getVertices(vertexIds, includeHidden ? FetchHint.ALL_INCLUDING_HIDDEN : FetchHint.ALL, authorizations); } public static Iterable<String> toVertexIds(Iterable<WorkspaceEntity> workspaceEntities) { return new ConvertingIterable<WorkspaceEntity, String>(workspaceEntities) { @Override protected String convert(WorkspaceEntity o) { return o.getEntityVertexId(); } }; } @Override public String toString() { return "WorkspaceEntity{" + "entityVertexId='" + entityVertexId + '\'' + '}'; } }