{
plexusConfig = new XmlPlexusConfiguration( (Xpp3Dom) configuration );
}
else
{
throw new BeanConfigurationException( "unsupported bean configuration source ("
+ configuration.getClass().getName() + ")" );
}
if ( request.getConfigurationElement() != null )
{
plexusConfig = plexusConfig.getChild( request.getConfigurationElement() );
}
ClassLoader classLoader = request.getClassLoader();
if ( classLoader == null )
{
classLoader = request.getBean().getClass().getClassLoader();
}
BeanExpressionEvaluator evaluator = new BeanExpressionEvaluator( request );
ObjectWithFieldsConverter converter = new ObjectWithFieldsConverter();
try
{
converter.processConfiguration( converterLookup, request.getBean(), classLoader, plexusConfig, evaluator );
}
catch ( ComponentConfigurationException e )
{
throw new BeanConfigurationException( e.getMessage(), e );
}
}