Grid Data Access

How to implement my Grid data access system?

Access to data on the Grid is offered by services. These services allows the user to browse directories and list files on remote Grid systems. Currently g-Eclipse has implementation for:

UI Components

The Connection Wizard allows to define new remote connection.

Important Extension points

Core extension points

org.eclipse.core.filesystem.filesystems
This extension point provides implementation of the Eclipse File System (EFS) API. Developer needs to specify file system's URI scheme tag and file system class extending org.eclipse.core.filesystem.provider.FileSystem (see below).
eu.geclipse.core.filesystem.transferService
Extension point for defining new transfer service for specified data services. If there exists service-specific transfer type, then it should be implemented using this extension point.

UI extension point

eu.geclipse.ui.efs
This extension point is used to split URI of the connection into tokens( host, port, path etc. ) important for given connection. This description is then used in g-Eclipse new connection wizard to present the user all requested and optional fields when creating new connection.

Interfaces to implement

org.eclipse.core.filesystem.provider.FileSystem
Since g-Eclipse file system mechanism bases on EFS, to implement Grid access you need to extend FileSystem abstract class.
org.eclipse.core.filesystem.provider.FileStore
Abstract Eclipse class you should extend when implementing new Grid data access service. File store represents single file in target file system.
eu.geclipse.core.model.ITransferService
If you decide to provide your file system with dedicated transfer service, you will need to create a transfer service class implementing this interface.

Sample implementations

As stated in the beginning g-Eclipse already contains several implementations of Grid data access services. They can be used as examples for future developers of different file system in g-Eclipse. Below you can find references to each implementation of org.eclipse.core.filesystem.provider.FileStore and, if it exists, to dedicated transfer service for given file system.