wiki:SCENE_POINT_R0
Last modified 16 years ago Last modified on 12/16/08 14:22:23

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

Error: Macro TicketQuery(summary=SCENE_POINT_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

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.

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: