wiki:PRO_LIB_CORE_TUTORIAL_R0
Last modified 14 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
  • Code examples - write code examples for different kinds of properties.
public RwProp<Page> parent() {
		return getBean().makeParentProp(Page.class, "frames");
	}
  • etc.

Implementation

PRO_LIB_CORE_TUTORIAL

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 :