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

Ticket Summary Owner Status Type Component Priority Effort Importance
#264 SCENE_POINT_R0 peko closed planned_task BASE_SCENE 3 2 20

Reported by Astea, 4 years ago.

Description

wiki page: SCENE_POINT_R0 - effort: 2d

Analysis_owners

pap,pap

Analysis_reviewers

peko, tanya

Analysis_score

3.5

Design_owners

pap, peko

Design_reviewers

boyan

Design_score

2

Imp._owners

pap, peko

Imp._score

0

Test_score

0

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: