if( config.getAttribute( "type", null ) != null ) // legacy
{
String urn = config.getAttribute( "type", null );
final Properties attributes =
buildAttributes( config.getChild( "attributes" ) );
return new ExtensionDescriptor( urn, attributes );
}
else
{
String id = config.getAttribute( "urn", null ); // legacy
if( id == null )
{
try
{
id = config.getAttribute( "id" );
}
catch( ConfigurationException e )
{
final String error =
"Missing extensions identifier 'id' attribute."
+ ConfigurationUtil.list( config );
throw new BuildException( error, e );
}
}
final Properties attributes =
buildAttributes( config.getChild( "attributes" ) );
return new ExtensionDescriptor( id, attributes );
}
}