Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dsdp-tm-dev] Extension to RSECoreRegistry: Dynamic system type provider extension point

Hi,
I would like to extend the RSECoreRegistry to accept system types from
other source than the system type extension point only. Contributors
willing to contribute system types dynamically, can register
IRSESystemTypeProvider implementations via an additional extension
point. The IRSESystemTypeProvider does have exactly one method:

	IRSESystemType[] getSystemTypesForRegistration();

System type contributions from the system type extension point have
higher priority and will be read always before the
IRSESystemTypeProvider will be called. System Types from the
IRSESystemTypeProvider conflicting with a contributed system type
(having the same id) will be not accepted and are skipped.  The
IRSESystemTypeProvider is responsible that calls to
IRSESystemType.getProperty(...) are correctly mapped for the 3 public
system type properties as defined in IRSESystemTypeConstants. From RSE
point of view, absolutly nothing will change from API point of view,
RSECoreRegistry.getDefault().getSytemTypes() is returning the full list
of registered system types, with or without this extension.

The purpose of this extension is to allow adaptors of RSE to generate
RSE system types dynamically from existing similar objects in their
existing product. It decreases the administrative effort to initial jump
on top of RSE and helps maintaining existing contributions to the
adapted product. Furthermore it reduces the complexity of contributing
to the adapted products which will definitly reduces the possible
sources of errors and frustration which in turn is essential for the
acceptance level of RSE itself (for adaptors) and RSE based products
(for contributors).

In our specific case we want to keep the impact of switching our product
to RSE for existing internal and external contributions at absolute
minimum. Being able to contribute system types dynamically keeps our
existing contributor base happy and their contributions working for our
product prior the switch to RSE and for our products after the switch to
RSE. It is not required for them to maintain multiple source bases to
support the full range of product versions still being in maintenance.

PS: This very small impact extension solves basically the bugzillas
170918 and 161193 ...

Committers: Any comments?

Best regards,
--
Uwe Stieber
Member of Technical Staff
Engineering - Wind River Systems - Austria


Back to the top