in src/main/java/org/apache/maven/plugins/ear/GenerateApplicationXmlMojo.java [454:503]
private List<ResourceRef> buildResourceRefs()
throws EarPluginException
{
final List<ResourceRef> result = new ArrayList<ResourceRef>();
if ( resourceRefs == null )
{
return result;
}
try
{
getLog().debug( "Resources found" );
StringSearchInterpolator ssi = new StringSearchInterpolator();
ValueSource vs = new MapBasedValueSource( project.getProperties() );
ssi.addValueSource( vs );
// TODO: Check if this is a good idea hard code that here? Better idea?
final PlexusConfiguration[] allResourceRefEntries = resourceRefs.getChildren( "resourceRef" );
getLog().debug( "allResourceRefEntries length: " + allResourceRefEntries.length );
for ( PlexusConfiguration resEntry : allResourceRefEntries )
{
getLog().debug( "Resources resEntry:" + resEntry.getName() );
final String childResRefName =
interpolate( ssi, resEntry.getChild( ResourceRef.RESOURCE_REF_NAME ).getValue() );
final String childResType =
interpolate( ssi, resEntry.getChild( ResourceRef.RESOURCE_TYPE ).getValue() );
final String childResRefAuth =
interpolate( ssi, resEntry.getChild( ResourceRef.RESOURCE_AUTH ).getValue() );
final String childResRefLookupName =
interpolate( ssi, resEntry.getChild( ResourceRef.LOOKUP_NAME ).getValue() );
try
{
result.add(
new ResourceRef( childResRefName, childResType, childResRefAuth, childResRefLookupName ) );
}
catch ( IllegalArgumentException e )
{
throw new EarPluginException( "Invalid resource-ref [" + resEntry + "]", e );
}
}
return result;
}
catch ( InterpolationException e )
{
throw new EarPluginException( "Interpolation exception:", e );
}
}