Product Definition Name


This page details the design for adding support of my project.


1.0 Project Overview

  • Overview of the project and it's goals.

A product definition currently identifies a product by its identifier and a Description. The present proposal aims at adding a new characteristic to a product definition: the Name.

  • Target Release

1.0.2

  • Reason for project

The motivation is to address the issue reported in bug 6602977.
Depending on the type of user interface (text / graphic) and depending on the real estate of the page, the description characteristic can be too verbose while the identifier can be too terse. The name would be provided as an intermediary characteristic that would fit in few characters.

  • Team members

Gustave Loial


2.0 Project Use case(s)

Case # Description  

3.0 High Level Design

The modification will happen at different levels. While the information itself will be inserted in the dependency descriptors as element <Component>/<Identity>/<Name>
it will need to be processed on the Java side as well.
A first review shows that multiple solutions are possible. see below discussion.

  • Include graphics if possible

4.0 Detail Design

  • Include schema additions, changes, deletions

the schema Component.xsd will need minimal modifications. to declare the new element.
However two thoughts are possible at this point:
Either existing descriptors need to be retrofitted so that the method to retrieve the Name of a product is available widely or some code is required to manage the lack of information and substitute other information to it (the identifier or the description)

The location where the handling is done requires a debate of its own. The replacement could be done at either the lower level (ComponentDescriptor) so a missing Name is replaced by the description or the identifier and passed back to the calling method.
The other approach would be to let higher level elements make that substitution.

It is important to note important facts: Higher level methods are numerous (so there will inevitably be redundant code) and more over these are generally in xcs files meaning uncheckable code.

My recommendation is to have the substitution done closer to the lower level methods and ideally, make the Name element a required information (at the descriptor level) that way no substitution needs to happen. The price for that is to retrofit the existing descriptors files. The benefit: a much simpler and robust solution.

  • Architecture
  • Can be filled in in time

Yes

  • Internal interfaces

ComponentDescriptor.getName ()

  • Exposed interfaces

Component.xsd

  • Can be pointers to other wiki pages as size requires.

5.0 Test Plan

  • Unit tests

testGetName ()

  • Test Product
  • Functional tests
  • Can be pointers to other wiki pages as size requires.