Skip to content
This repository has been archived by the owner on Jul 18, 2022. It is now read-only.

Proposed Data Model

rsimon edited this page Dec 22, 2011 · 8 revisions

How to design the Download Model entity?

  • A Download belongs to a User
  • A Download includes information about the data DatasourceProfile
  • A Download has a unique path on the Storage
  • HOWEVER, a Download must be self-contained (i.e. not just reference a DatasourceProfile or Workflow Model entity, since these might be removed by the user).

Some thoughts on the relation between the Download Model entity and the DownloadSource/DownloadSink (we need a good & descriptive name for this/these class(es)!)

  • Should source/sink be implemented in a single class?
  • Where/when is the actual Download Model entity created? -> Must happen in the DownloadSink's upload method
  • The DownloadSink's upload method returns the path on the Storage as return value (it can't return the Download itself, otherwise we're breaking the uniform interface required for the Workflow)
  • The DownloadSource's download method feels kind of recursive now (just delegates to the storage?). Might not be an issue, but maybe it makes sense to redefine the Storage interface slightly?