// and now the aspects
final Configuration[] aspectsConf = layoutConf.getChild("aspects").getChildren("aspect");
if (aspectsConf != null) {
for(int m=0; m < aspectsConf.length; m++) {
AspectDescription adesc = DefaultAspectDescription.newInstance(aspectsConf[m]);
desc.addAspectDescription( adesc );
}
}
// now query all configured renderers for their aspects
PortalService service = null;
try {
service = (PortalService)this.manager.lookup(PortalService.ROLE);
PortalComponentManager pcManager = service.getComponentManager();
Iterator rendererIterator = desc.getRendererNames();
while (rendererIterator.hasNext()) {
final String rendererName = (String)rendererIterator.next();
Renderer renderer = pcManager.getRenderer( rendererName );
Iterator aspectIterator = renderer.getAspectDescriptions();
while (aspectIterator.hasNext()) {
final AspectDescription adesc = (AspectDescription) aspectIterator.next();
desc.addAspectDescription( adesc );
}
}
} catch (ServiceException ce ) {
throw new ConfigurationException("Unable to lookup renderer selector.", ce);