CMP Entity Bean mapping wizard need allow creation
of a set of related CMP entity beans from a
database schema. At the end, the wizard will push
the mapping info to the plugin for writing out to
server specific descriptors.
The original design for this CMP mapping info push
is that the wizard code going through each bean
and push the mapping one by one using following SPI:
config, String ejbName, OriginalCMPMapping mapping);
Now that the plugin start using this API, this
design showed weaknesses in that:
- plugin has to write multiple times to file,
causing unecessary file events.
- resolving relationships b/w beans would be more
To eliminate these weaknesses, this API change
proposes the following improvement for single push
config, OriginalCMPMapping mapping);
Change (1) is not a incompatible change because
the interface is new for this release.
Change (2) is an incompatible one because it add
access method to existing interface. However, we
did not expect plugins to use this interface
without the new SPI ConfigurationSupport
introduced in this release.
Change (3) is for cleanup a interface that is not
going to be used because of change in model of
exchange mapping info b/w CMP wizard and the
plugin code. The push model is a better choice
with current J2eeserver framework than the pull
model that was used with old J2eeserver framework.
None of our devmodules are using this SPI, so it
is safe to simply remove it.
Since the general expectation from a wizard is user should not need to
do an explicit save to persist the changes resulted from using the
wizard, we also need an additional changes to give wizard code
ability to commit changes to configuration DD. Here is the additional
Plugin could save configuration itself, but in case a wizard craete a
set of new beans, multiple save is bad performance and also causing
weird UI effect (e.g. flickering save all button...).
Created attachment 19400 [details]
I would like to waive unit test of this api change due to the routing
nature of the involved API's/SPI's.
I have a question about signature test. Do I have take care of
changing the golden file? If so, please point to location and
procedure to run the test. Thanks.
I would like to fast-track this api change due to 4.1 EA2 code-freeze
I thought that this was always fastrack and I know the issue has been
here for more than a week. From my point of view, you can go on...
Described changes checked in.