in extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/resources/deprecated/ResourceHandlerImpl.java [125:235]
protected ResourceMeta deriveResourceMeta(ResourceLoader resourceLoader,
String resourceName, String libraryName)
{
String localePrefix = getLocalePrefixForLocateResource();
String resourceVersion = null;
String libraryVersion = null;
ResourceMeta resourceId = null;
//1. Try to locate resource in a localized path
if (localePrefix != null)
{
if (null != libraryName)
{
String pathToLib = localePrefix + '/' + libraryName;
libraryVersion = resourceLoader.getLibraryVersion(pathToLib);
if (null != libraryVersion)
{
String pathToResource = localePrefix + '/'
+ libraryName + '/' + libraryVersion + '/'
+ resourceName;
resourceVersion = resourceLoader
.getResourceVersion(pathToResource);
}
else
{
String pathToResource = localePrefix + '/'
+ libraryName + '/' + resourceName;
resourceVersion = resourceLoader
.getResourceVersion(pathToResource);
}
if (!(resourceVersion != null && ResourceLoader.VERSION_INVALID.equals(resourceVersion)))
{
resourceId = resourceLoader.createResourceMeta(localePrefix, libraryName,
libraryVersion, resourceName, resourceVersion);
}
}
else
{
resourceVersion = resourceLoader
.getResourceVersion(localePrefix + '/'+ resourceName);
if (!(resourceVersion != null && ResourceLoader.VERSION_INVALID.equals(resourceVersion)))
{
resourceId = resourceLoader.createResourceMeta(localePrefix, null, null,
resourceName, resourceVersion);
}
}
if (resourceId != null)
{
URL url = resourceLoader.getResourceURL(resourceId);
if (url == null)
{
resourceId = null;
}
}
}
//2. Try to localize resource in a non localized path
if (resourceId == null)
{
if (null != libraryName)
{
libraryVersion = resourceLoader.getLibraryVersion(libraryName);
if (null != libraryVersion)
{
String pathToResource = (libraryName + '/' + libraryVersion
+ '/' + resourceName);
resourceVersion = resourceLoader
.getResourceVersion(pathToResource);
}
else
{
String pathToResource = (libraryName + '/'
+ resourceName);
resourceVersion = resourceLoader
.getResourceVersion(pathToResource);
}
if (!(resourceVersion != null && ResourceLoader.VERSION_INVALID.equals(resourceVersion)))
{
resourceId = resourceLoader.createResourceMeta(null, libraryName,
libraryVersion, resourceName, resourceVersion);
}
}
else
{
resourceVersion = resourceLoader
.getResourceVersion(resourceName);
if (!(resourceVersion != null && ResourceLoader.VERSION_INVALID.equals(resourceVersion)))
{
resourceId = resourceLoader.createResourceMeta(null, null, null,
resourceName, resourceVersion);
}
}
if (resourceId != null)
{
URL url = resourceLoader.getResourceURL(resourceId);
if (url == null)
{
resourceId = null;
}
}
}
return resourceId;
}