Last modified 16 years ago
Last modified on 12/16/08 14:22:23
Analysis
Overview
This task is related to the interaction between the base scene module and other parts of the application.
Task requirements
- Make a module for the scene library
- There should be an extension point for concrete implementations
- Every concrete implementation should provide an extension to this point.
- The point should be used to make the scene implementation display an object model created by this module.
- There should be extension points for audio and video players.
- These are supposed to be implemented by the concrete scenes.
- It is also possible(although a bit strange) for another bundle to provide an extension to this point.
- Define the interfaces used for communication with other components
- How will the page area instruct the scene to build a model
- How will the scene get information for the elements in the model.
Task result
The result of this task should be source code.
Implementation idea
- Make a sophie module.
- Make classes and/or interfaces for the extension point.
Related
How to demo
- Explain the capabilities of the extension points and interfaces
Design
- Since we need to supply at least two implementations on a scene, we will have an extension point SceneEngine implementations.
- SceneEngine will be an interface with a single method that provides the !JComponent to be drawn in the PageWorkArea:
public interface SceneEngine { /** * Transforms the object model given in the scene parameter to a graphical representation. * @param scene * The Scene object to be visualized * @return A swing component that holds the desired graphical representation. */ JComponent makeSceneUIComponent(Scene scene); }
- A BaseSceneModule class should be implemented in the org.sophie2.base.scene module.
- It should provide extension points for the different implementations of the SceneEngine.
Implementation
As described in design =>
Testing
Comments
Log
Analysis: Pap - done(25m)
Review: Peko - 2 - Its is generally OK, but not clear enough for people who have never discussed this. In my opinion things that need more clarity are: where are the extension points and how many they are, who are the extensions and which extension points do they belong to.
Analysis2: Pap - done(15m)
Review: 3.5 by Tanya OK
Design:
Implementation:
Testing:
Comments: