package io.lumify.web.clientapi; import io.lumify.web.clientapi.codegen.ApiException; import io.lumify.web.clientapi.model.*; import java.util.ArrayList; import java.util.List; public class WorkspaceApiExt extends io.lumify.web.clientapi.codegen.WorkspaceApi { public void update(ClientApiWorkspaceUpdateData updateData) throws ApiException { update(ApiInvoker.serialize(updateData)); } public ClientApiWorkspacePublishResponse publishAll(List<ClientApiWorkspaceDiff.Item> diffItems) throws ApiException { List<ClientApiPublishItem> publishItems = new ArrayList<ClientApiPublishItem>(); for (ClientApiWorkspaceDiff.Item diffItem : diffItems) { publishItems.add(workspaceDiffItemToPublishItem(diffItem)); } return publish(publishItems); } public ClientApiWorkspacePublishResponse publish(List<ClientApiPublishItem> publishItems) throws ApiException { return publish(ApiInvoker.serialize(publishItems)); } public ClientApiPublishItem workspaceDiffItemToPublishItem(ClientApiWorkspaceDiff.Item workspaceDiffItem) { if (workspaceDiffItem instanceof ClientApiWorkspaceDiff.VertexItem) { ClientApiWorkspaceDiff.VertexItem vertexDiffItem = (ClientApiWorkspaceDiff.VertexItem) workspaceDiffItem; ClientApiVertexPublishItem publishItem = new ClientApiVertexPublishItem(); publishItem.setAction(ClientApiPublishItem.Action.addOrUpdate); publishItem.setVertexId(vertexDiffItem.getVertexId()); return publishItem; } else if (workspaceDiffItem instanceof ClientApiWorkspaceDiff.PropertyItem) { ClientApiWorkspaceDiff.PropertyItem propertyDiffItem = (ClientApiWorkspaceDiff.PropertyItem) workspaceDiffItem; ClientApiPropertyPublishItem publishItem = new ClientApiPropertyPublishItem(); publishItem.setElementId(propertyDiffItem.getElementId()); publishItem.setKey(propertyDiffItem.getKey()); publishItem.setName(propertyDiffItem.getName()); publishItem.setVisibilityString (propertyDiffItem.getVisibilityString()); return publishItem; } else if (workspaceDiffItem instanceof ClientApiWorkspaceDiff.EdgeItem) { ClientApiWorkspaceDiff.EdgeItem edgeDiffItem = (ClientApiWorkspaceDiff.EdgeItem) workspaceDiffItem; ClientApiRelationshipPublishItem publishItem = new ClientApiRelationshipPublishItem(); publishItem.setEdgeId(edgeDiffItem.getEdgeId()); return publishItem; } else { throw new LumifyClientApiException("Unhandled WorkspaceDiffItem type: " + workspaceDiffItem.getType()); } } public ClientApiWorkspaceUndoResponse undoAll(List<ClientApiWorkspaceDiff.Item> diffItems) throws ApiException { List<ClientApiUndoItem> undoItems = new ArrayList<ClientApiUndoItem>(); for (ClientApiWorkspaceDiff.Item diffItem : diffItems) { undoItems.add(workspaceDiffItemToUndoItem(diffItem)); } return undo(undoItems); } public ClientApiWorkspaceUndoResponse undo(List<ClientApiUndoItem> undoItems) throws ApiException { return undo(ApiInvoker.serialize(undoItems)); } public ClientApiUndoItem workspaceDiffItemToUndoItem(ClientApiWorkspaceDiff.Item workspaceDiffItem) { if (workspaceDiffItem instanceof ClientApiWorkspaceDiff.VertexItem) { ClientApiWorkspaceDiff.VertexItem vertexDiffItem = (ClientApiWorkspaceDiff.VertexItem) workspaceDiffItem; ClientApiVertexUndoItem undoItem = new ClientApiVertexUndoItem(); undoItem.setVertexId(vertexDiffItem.getVertexId()); return undoItem; } else if (workspaceDiffItem instanceof ClientApiWorkspaceDiff.PropertyItem) { ClientApiWorkspaceDiff.PropertyItem propertyDiffItem = (ClientApiWorkspaceDiff.PropertyItem) workspaceDiffItem; ClientApiPropertyUndoItem undoItem = new ClientApiPropertyUndoItem(); undoItem.setElementId(propertyDiffItem.getElementId()); undoItem.setKey(propertyDiffItem.getKey()); undoItem.setName(propertyDiffItem.getName()); undoItem.setVisibilityString(propertyDiffItem.getVisibilityString()); return undoItem; } else if (workspaceDiffItem instanceof ClientApiWorkspaceDiff.EdgeItem) { ClientApiWorkspaceDiff.EdgeItem edgeDiffItem = (ClientApiWorkspaceDiff.EdgeItem) workspaceDiffItem; ClientApiRelationshipUndoItem undoItem = new ClientApiRelationshipUndoItem(); undoItem.setEdgeId(edgeDiffItem.getEdgeId()); return undoItem; } else { throw new LumifyClientApiException("Unhandled WorkspaceDiffItem type: " + workspaceDiffItem.getType()); } } public void setUserAccess(String userId, WorkspaceAccess access) throws ApiException { ClientApiWorkspaceUpdateData addUser2WorkspaceUpdate = new ClientApiWorkspaceUpdateData(); ClientApiWorkspaceUpdateData.UserUpdate addUser2Update = new ClientApiWorkspaceUpdateData.UserUpdate(); addUser2Update.setUserId(userId); addUser2Update.setAccess(access); addUser2WorkspaceUpdate.getUserUpdates().add(addUser2Update); update(addUser2WorkspaceUpdate); } }