Last modified 16 years ago
Last modified on 01/28/09 15:39:13
Analysis
Overview
The task is about persistence formats that Sophie 2.0 will represent and their management.
Task requirements
- The registry should be able to register several formats.
- For every format and its extensions, the registry:
- should be able to list the supported things.
- if user tries to save current book in a particular format:
- the registry should check what all the things will actually be saved.
- if some things are not to be saved - the registry should provide that these are not supported by the format.
- if the client provides a new extension of a particular format:
- the things that are about to enter the format and be persisted, should be registered in the registry as well, so that it responds correctly to saving in and loading from that particular format.
- if user tries to save current book in a particular format:
- should provide a mechanism to give information about format disability to handle something that is to be persisted.
- should be able to list the supported things.
- Create activity diagram to show how the registry cooperates with the persistence formats.
- Write an integration test with the several scenarios:
- the format supports everything that is to be saved.
- the format does not support some of the things. ( the registry should also be able to return a list of thins that are unsupported by a format).
- If it would be easier provide a demo and execute the two scenarios be manually.
- All important wiki content should be put in the corresponding section of a wiki page => BASE_PERSISTENCE
Task result
- source code.
- UML diagrams.
Implementation idea
- view code:
- => trunk/sophie2-platform/modules/org.sophie2.base.persistence
- => trunk/sophie2-platform/modules/org.sophie2.main.model.book.format.r1/src/main/java/org/sophie2/main/model/book/format/r1
- => trunk/sophie2-platform/modules/org.sophie2.main.model.book.format.r2/src/main/java/org/sophie2/main/model/book/format/r2
- the task should be done after or in parallel with BASE_PERSISTENCE_FORMAT_POINT_R0.
- create a registry class for the formats.
- it should be one for every instance of Sophie 2.0.
- provide the functionalities described above by collecting information from the formats.
- create a registry class for the formats.
Related
- BASE_PERSISTENCE_COMMONS_R0
- BASE_PERSISTENCE_INTERMEDIATE_STORAGE_R0
- BASE_PERSISTENCE_FORMAT_POINT_R0
- BASE_PERSISTENCE_PROPERTY_FORMAT_R0
- BASE_PERSISTENCE_IMMUTABLES_R0
How to demo
- show the diagrams created.
- run either tests or demo (depends what the implementor has decided).
Design
(Describe your design here.)
Implementation
(Describe and link the implementation results here (from the wiki or the repository).)
Testing
(Place the testing results here.)
Comments
(Write comments for this or later revisions here.)