in proposals/seade/UIService/org/apache/turbine/services/ui/TurbineUIService.java [245:296]
private synchronized Properties loadSkin(String skinName)
{
Properties defaultSkinProperties = null;
if (!StringUtils.equals(skinName, SKIN_PROPERTY_DEFAULT))
{
defaultSkinProperties = getSkinProperties(SKIN_PROPERTY_DEFAULT);
}
// The following line is okay even for default.
Properties skinProperties = new Properties(defaultSkinProperties);
try
{
log.debug("Loading selected skin from: " + skinsDirectory + "/"
+ skinName + "/" + SKIN_PROPS_FILE);
FileInputStream is = new FileInputStream(
skinsDirectory + "/" + skinName + "/" + SKIN_PROPS_FILE);
skinProperties.load(is);
}
catch (Exception e)
{
log.error("Cannot load skin: " + skinName, e);
if (!StringUtils.equals(skinName, getWebappSkinName())
&& !StringUtils.equals(skinName, SKIN_PROPERTY_DEFAULT))
{
log.error("Attempting to return the skin configured for "
+ "webapp instead of " + skinName);
return getSkinProperties(getWebappSkinName());
}
else if (!StringUtils.equals(skinName, SKIN_PROPERTY_DEFAULT))
{
log.error("Return the default skin instead of "
+ skinName);
return skinProperties; // Already contains the default skin.
}
else
{
log.error("No skins available - returning an empty Properties");
return new Properties();
}
}
// Replace in skins HashMap
synchronized (skins)
{
skins.put(skinName, skinProperties);
}
return skinProperties;
}