Skip to content

Add NDEx 3 folder, shortcut, file search, and network move support #35

Description

@coleslaw481

Summary

CyNDEx-2 needs initial support for NDEx 3 folders so Cytoscape users can browse their NDEx account folder hierarchy, import networks from folders, choose a destination folder when uploading a network, and create folders from the upload/browse workflows.

CyNDEx-2 currently uses ndex-java-client for NDEx network import/export/search operations. To avoid duplicating NDEx REST logic inside CyNDEx-2, the Java client should expose the needed NDEx 3 folder/file APIs first.

Motivation

CyNDEx-2 should not implement a separate long-lived NDEx V3 REST adapter for folders. Folder behavior, authentication, base URL handling, paging, request serialization, response parsing, user agent handling, and NDEx error handling should stay centralized in ndex-java-client.

The current ndex-object-model already appears to include useful model classes such as:

  • NdexFolder
  • FolderRequest
  • NdexShortcut
  • ShortcutRequest
  • NetworkSummary.getFolderId()

But NdexRestClientModelAccessLayer does not currently expose folder/shortcut/file methods needed by CyNDEx-2.

Needed Client Methods

Please add Java client methods for the NDEx 3 APIs needed by the CyNDEx-2 folder MVP.

Suggested methods on NdexRestClientModelAccessLayer:

UserHomeContent getUserHome(UUID userId)
List<NdexFolder> listFolders()
NdexFolder getFolder(UUID folderId)
FolderContents listFolderContents(UUID folderId, int start, int size)
FolderItemCounts getFolderItemCounts(UUID folderId)
UUID createFolder(FolderRequest request)
MoveNetworksResult moveNetworksToFolder(UUID folderId, Collection<UUID> networkIds)
List<NdexShortcut> listShortcuts()
NdexShortcut getShortcut(UUID shortcutId)
FileSearchResult searchFiles(SimpleFileQuery query, int start, int size)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions