LogbookTodo
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Todo
Warning: This section is obsolete. Please report bugs at http://feedback.aardrock.com.
Done
- Logbook's listener slows down Cheetah's shutting down
- Done: Chris
- Toevoegen van nieuwe items in het Home scherm werkt niet meer.
- Done: Martijn/Chris
- Ook cellen waarvoor de waarde
nullwas moeten editable worden.- Verander
setValueAtenisCellEditable. - Done: Martijn/Chris
- Verander
- Er moet een listener komen op het RDF model. Het LogbookModel vertaalt de RDF events naar table even1ts en vuurt deze (LogbookModel.fireXxx()).
- Done: Chris
- De RDF objecten moeten URIs krijgen.
- Done: Chris
- De cellen moeten editable worden (implementeer LogbookModel.setValueAt()); de veranderingen worden naar RDF gedelegeerd.
- Done: Chris
- Comments lijken niet te werken. In plaats van comments worden de bloedglucosewaarden getoond.
- De comments worden wel getoond, alleen bij het opslaan werd de bloedglucosewaarde opgeslagen ipv de comment
- Done: Chris
- Als er nieuwe rows toegevoegd worden via b.v. het Home-scherm moet dit ook worden doorgegeven.
- Done: Martijn
- Cellen (afzonderlijke entries) kunnen verwijderd worden (met Delete knop)
- Done: Martijn
Plan
- Objecten moeten een URI krijgen
- Vorm:
cheetah://email/classname/creation_timestamp - E.g.:
cheetah://chris@example.com/insulinEntry/4589778925
- Vorm:
- Een invoer van meerdere entries moet dezelfde timestamp krijgen
- We moeten een snelle cache in ons TableModel bouwen
- De cache moet wijzigingen doorgeven aan het RDFModel
- De cache moet luisteren naar wijzigingen op het RDFModel
- De cache moet op een snelle manier deze wijzingen doorvoeren (mappen van URI naar rownumber)
- Waarschijnlijk een Hash bijhouden met URI's als keys en rownumbers als values
- De rows moet een aggregatie zijn van alle entries met dezelfde timestamp
- Iedere 5 minuten RDF-db opslaan
Ideas
Propagating changes
When the JTable is changed, the setValueAt of the TableModel is called. The TableModel passes translates this to a setProperty of the RDFModel. When the RDFModel is changed, an event is fired an the TableModel and all other listeners will receive this event. The TableModel will update itself (within a recent amount of time), and will send a table-event to the GUI.
User Interface
Rows in a table are in alternating colors. The current active row is highlighted (with a blue background-color for example).
Handling events
When a statement is added:
- If the subject is the logbook entries list, a logbook entry was added. Update cache and fire event.
- Else if the subject is a logbook entry, one of the entry's properties was set.
- If the entry is in the timestampToRow map, the entry is in the account's logbook entries list. Locate the row and column, update cache and fire event.
- Else the entry is not in the logbook entries list. No action needed.
When a statement is removed:
- If the subject is the logbook entries list, a logbook entry was removed. Update cache and fire event.
- Else if the subject is a logbook entry, one of the entry's properties was removed.
- If the entry is in the timestampToRow map, the entry is in the account's logbook entries list. Locate the row and column, update cache and fire event.
- Else the entry is not in the logbook entries list. No action needed.