Last modified 15 years ago
Last modified on 10/02/08 13:43:11
Analysis
Overview
- PRO_LIB_CORE - is one of the base libraries used in Sophie2.
- We have to create a tutorial to use the library.
Task Requirements
- Easy to use tutorial.
- Easily manageable and maintainable form (wiki page for example).
- Thorough, so that people who have never used it, get involved in using it quickly enough.
- Things to include:
- step-by-step how-to
- Properties idea
- Property kinds
- Properties usage examples (at least one per property kind and maybe some special)
- Bad practices examples
- Code examples
Task Result
- Wiki page containig enough information to fulfil the above requirements.
Implementation idea
- Create a wiki page. Explain pro_lib as detailed as possible. And add the things from the things that should be included (last secion of Task Requirements).
How to demo
- Enter the wiki page. Explain the different parts of the tutorial (what is what and serves for what).
Design
- Create a wiki page PRO_LIB_CORE_TUTORIAL.
- Veda-Presentation-Properties from the old wiki can be useful.
- http://mindprod.com/jgloss/properties.html and http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html can be useful.
- There must be class diagrams explaining the structure of Sophie Properties.
- ProObject
- ProBean
- Prop
- Property
- MetaInfo
- PropretyState
- CREATED - initial state, you can only add/remove listeners
- META_INITIALIZED - get will throw NotInitialized exception, other methods will work
- READY - get will return value
- DESTROYED - again get will throw..
- Property methods sample...
- ProExp
- Utils
- ReflectionUtil
- SwingUtil
- Inspector
- Property kinds - they have to be explained.
- ObjectProperty
- FinalProperty
- AutoProperty
- ResourceProperty
- ValueProperty
- ParentProperty
- UndoProperty - holds an undo manager. If the bean does not have such property, the properties try to locate UndoManager up (to parent).
- ListProperty
- ChildrenProperty
- ObjectProperty
- Code examples - write code examples for different kinds of properties.
public RwProp<Page> parent() { return getBean().makeParentProp(Page.class, "frames"); }
- etc.
Implementation
Log
- Analyzing : Pap - done (45min)
- Review: 2 by Tanya - 5 min. The page doesn't apply to the template. It is not clear now what should be done for finishing the task.
- Analyzing 2: Peko - done (30 min)
- Review: 3.5 by todor. Now the analysis is done according to the template, and the results of it are clear.
- Designing : Tanya - 30min
- Review : 3.5 by Pap.
- Implementing : Tanya - 13h
- Review : 3 by Pap - 30m. Should be more explanatory so it is easier to understand for newcomers.
- Testing :