Filing OSID

The OKI Filing OSID has been selected to be the primary service interface for the CC Installer application.

The Filing OSID

The Filing OSID consists of the following interfaces:

Interface Name Implementation Name Status
Directory    
DirectoryAdminSession chsDirectoryAdminSession Partial
DirectoryEntry chsDirectoryEntry Complete
DirectoryEntryLookupSession    
DirectoryEntryQuery    
DirectoryEntrySearch    
DirectoryList DirectoryList Complete
DirectoryNotificationSession    
DirectoryQuery    
DirectoryReceiver    
DirectorySearch    
DirectorySearchResults    
DirectorySearchSession chsDirectorySearchSession Partial
File chsFile Complete
FileList chsFileList Complete
FileNotificationSession    
FileQuery    
FileReceiver    
FileSearch    
FileSearchResults    
FileSearchSession chsFileSearchSession Partial
FileSession chsFileSession Complete
FilingManagementSession    
FilingManager chsFilingManager Partial
FilingProfile    
FilingProxyManager    

In addition, the following OSIDs are used:

Package Interface Name Implementation Name Status
transport DataInputStream chsDataInputStream Not the real interface.
transport DataOutputStream chsDataOutputStream Not the real interface.
osid NullArgumentException NullArgumentException  
osid PermissionDeniedException PermissionDeniedException  
osid AlreadyExistsException AlreadyExistsException  
osid OperationFailedException OperationFailedException  
osid NoAccessException NoAccessException  
osid NotFoundException NotFoundException  
osid IllegalStateException IllegalStateException  

Implementation Strategy

Reading and writing of files largely takes place in the FileSession and DirectoryAdminSession interfaces. Said sessions are created (initiated) in the FilingManager. The following dependencies exist to implement basic file I/O:

  1. FilingProfile
  2. FilingManager
    1. FileSession
      1. OsidSession (extends)
      2. File
        1. DirectoryEntry (extends)
          1. Id
          2. Agent
          3. DateTime
      3. DataInputStream
      4. DataOutputStream
    2. DirectoryAdminSession
      1. OsidSession (extends)
      2. Directory
        1. DirectoryEntry (extends)
          1. Id
          2. Agent
          3. DateTime
      3. File
        1. DirectoryEntry (extends)
          1. Id
          2. Agent
          3. DateTime
    3. (many other session types)

The following classes need to be implemented based on the above interfaces, extensions and dependencies:

  1. FilingProfile
  2. FilingManager
  3. FileSession
  4. DirectoryAdminSession
  5. Directory
  6. File
  7. Id
  8. Agent
  9. DateTime
  10. DataInputStream
  11. DataOutputStream

A total of 11 classes.

Additional classes will be needed to handle directory selection (to target the CC installation).

Creating a File

  1. Get a DirectoryAdminSession
  2. Create the file in that directory.
  3. Get a FileSession
  4. Get the output stream from the session.
  5. Write data to the stream
  6. Close the stream.

Streaming Data

The way the Filing OSID is designed, a an application requests a DataOutputStream from a FileSession. However, CHS wants an InputStream to write content to it. This means that Piped I/O will be required. It's a bit tricky to visualize.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.