wiki:PRO_LIB_CORE_COMMONS_R0
Last modified 16 years ago Last modified on 12/04/08 18:49:51

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=PRO_LIB_CORE_COMMONS_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

Check the Properties Library. If there is something to fix, fix it - inappropriate use of some kinds of properties, JavaDoc missing and so on.

Task requirements

  • Go through Properties Library
    • Add JavaDoc where necessary.
    • Check for mistakes (for example a property is an auto property but should be a resource property)
    • Check the design
      • Make diagrams
    • Add some unit tests if necessary.

Task result

  • The result should be source code.

Implementation idea

  • Make diagrams in the design section.

How to demo

  • Open the project in eclipse.
  • Demonstrate properties library.
  • Show that there is no JavaDoc missing.
  • Show the wiki page where the diagrams are.
  • Run the unit tests.

Design

  • Documentation
    • Very well documented. Only org.sophie2.core.prolib.exp.ProExpSequenceNode misses JavaDoc.
  • Unit tests
    • The unit tests for the properties are enough.
    • Some tests fail because some beans can't be destroyed.
  • There are some deprecated classes. All their dependences should be removed.
    • BidiListBinding<S, T>
    • BaseListBinding<S, T>
    • BaseObjectBinding<S, T>
    • BiObjectBinding<T>
    • ComposingListBinding<T>
    • ListBinding<S, T>
    • SimpleBidiListBinding<T>
    • ObjectBinding<S, T>
    • UniObjectBinding<S, T>
    • ObserveValue
  • Parent - children relations should be removed and replaced with @Own annotation (but it is subject of another task)
    • Children property is deprecated and its usage should be replaced with @Own annotation
  • Multithreading issues - The library should provide support for multithreading.
  • (Optional if there is time) Check the library to prevent Memory Leaks.
  • (Optional if there is time) Remove all "@SuppressWarnings("all")" from the tests and remove all the warnings from the tests.
  • (Optional if there is time) The structure of tests should be improved. Some tests could be moved to more appropriate packages.

Diagrams

Properties Hierarchy

source:/trunk/sophie2-platform/modules/org.sophie2.core/doc/Properties.png


List properties hierarchy

source:/trunk/sophie2-platform/modules/org.sophie2.core/doc/ProList.png


Changes

source:/trunk/sophie2-platform/modules/org.sophie2.core/doc/Changes.png


Binding hierarchy

  • It is the existing bindings hierarchy but bindings are deprecated.

source:/trunk/sophie2-platform/modules/org.sophie2.core/doc/Deprecated.png

Implementation

Testing

Comments

Log

Analysis: Tanya - done - 35m
Review: 2 by Pap(15m). I don't understand how adding diagrams in PRO_LIB_CORE_TUTORIAL is related to this task. The overview is a bit messy. It is an unstructured version of the requirements. Describe the task better.
Analysis2: Tanya - done - 15m
Review: 3.5 by Pap(5m)
Design: Tanya
Implementation:
Testing: