"alesj" wrote :
| "adrian(a)jboss.org" wrote :
| | Also the BasicBeanAdapter and related classes need fixing such that they use the
MetaData not the MetaDataRetrieval.
| |
| | The same is true of its usage in the Scoping.
| |
| MetaData has all the required functionality - as MetaDataRetrieval?
|
| Scoping as in PreInstall stuff that we did?
|
Yup, it was easy to move annotations handling to plain MetaData lookup. :-)
I also (re)moved the part in PreInstallAction where MetaDataRetrieval was referenced from
KernelMetaDataRepository.
But I guess this code cannot be changed to use plain MetaData since I _need_ to build the
whole MetaDataRetrieval for the scope - similar to how we do it for
ControllerContext's MetaData (hidden in BasicKernelMetaDataRepository).
| // find scoped controller
| MutableMetaDataRepository mmdr = repository.getMetaDataRepository();
| MetaDataRetrieval mdr = mmdr.getMetaDataRetrieval(scopeKey);
| if (mdr == null)
| {
| mdr = new MemoryMetaDataLoader(scopeKey);
| mmdr.addMetaDataRetrieval(mdr);
| }
| MetaDataItem<ScopedKernelController> controllerItem =
mdr.retrieveMetaData(ScopedKernelController.class);
| ScopedKernelController scopedController;
| if (controllerItem != null)
| {
| scopedController = controllerItem.getValue();
| }
| else
| {
| AbstractController parentController = null;
| ScopeKey parentKey = scopeKey.getParent();
| while (parentController == null && parentKey != null)
| {
| MetaDataRetrieval pmdr = mmdr.getMetaDataRetrieval(parentKey);
| if (pmdr != null)
| {
| MetaDataItem<ScopedKernelController> pci =
pmdr.retrieveMetaData(ScopedKernelController.class);
| if (pci != null)
| {
| parentController = pci.getValue();
| }
| }
| parentKey = parentKey.getParent();
| }
| if (parentController == null)
| {
| if (controller instanceof AbstractController == false)
| throw new IllegalArgumentException("Underlying controller not
AbstractController instance!");
| parentController = (AbstractController) controller;
| }
| scopedController = new ScopedKernelController(controller.getKernel(),
parentController);
| ((MutableMetaData)mdr).addMetaData(scopedController,
ScopedKernelController.class);
| }
| scopedController.addControllerContext(context);
| }
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4080779#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...