Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import/Export class names are really confusing #60

Closed
opcoach opened this issue Jul 20, 2017 · 0 comments
Closed

Import/Export class names are really confusing #60

opcoach opened this issue Jul 20, 2017 · 0 comments
Assignees
Milestone

Comments

@opcoach
Copy link
Contributor

opcoach commented Jul 20, 2017

The names for export management are confusing. We have :

  • Export : the service to select the right IExport instance or the right IImport instance
  • IExport : the interface to be implemented to export
  • ExportXML : an implementation of IExport
  • ExportCSV : another implementation of Export
  • IImport : the interface to be implemented to import but actually never implemented...

These names would be more convenient :

  • IExportService : the interface for the export service -> should provide minimal interface to export
  • IImportService : the same for import
  • ExportService (internal), our implementation to export by reading extension points
  • ImportService (internal) the same for import
  • IExporter : the interface to be implemented for an exporter
  • ExporterXML : the XML implementation for XML (implements IExporter)
  • ExporterCSV : the CVS implementation for CSV (implements Exporter)
  • ImporterXML : the XML implementation for XML import
    ...

If we use the pure E4 injection context, we will provide both services in the context. If we still use E3 development, we will provide a singleton in services to get the default implementation. For instance : IExportService.getDefault() will return the internal implementation or better, the ExportService is declared in an OSGi component file. This will simplify also the tests if we want to provide other importer/exporter.

@WaldoFR WaldoFR modified the milestone: Version 3.0 Jul 31, 2017
@WaldoFR WaldoFR self-assigned this Aug 3, 2017
WaldoFR pushed a commit to WaldoFR/i-CodeCNES that referenced this issue Sep 8, 2017
@dupuisa dupuisa removed the Exporters label Sep 11, 2017
@WaldoFR WaldoFR closed this as completed Sep 13, 2017
begarco pushed a commit to begarco/i-CodeCNES that referenced this issue Jan 25, 2020
begarco pushed a commit that referenced this issue Feb 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants