You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by jw...@apache.org on 2011/01/26 18:38:07 UTC
svn commit: r1063804 - in /myfaces/trinidad/trunk/trinidad-impl/src/main:
java/org/apache/myfaces/trinidadinternal/skin/SkinFactoryImpl.java
xrts/org/apache/myfaces/trinidadinternal/resource/LoggerBundle.xrts
Author: jwaldman
Date: Wed Jan 26 17:38:07 2011
New Revision: 1063804
URL: http://svn.apache.org/viewvc?rev=1063804&view=rev
Log:
TRINIDAD-1767 Warn and no-op on SkinFactory.addSkin for duplicate skins.
Modified:
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinFactoryImpl.java
myfaces/trinidad/trunk/trinidad-impl/src/main/xrts/org/apache/myfaces/trinidadinternal/resource/LoggerBundle.xrts
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinFactoryImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinFactoryImpl.java?rev=1063804&r1=1063803&r2=1063804&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinFactoryImpl.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinFactoryImpl.java Wed Jan 26 17:38:07 2011
@@ -49,7 +49,19 @@ public class SkinFactoryImpl extends Ski
_skins = new LinkedHashMap<String, Skin>();
}
-
+
+ /**
+ * <p>Register the specified {@link Skin} instance, associated with
+ * the specified <code>skinId</code>, to be supported by this
+ * {@link SkinFactory}, replacing any previously registered
+ * {@link Skin} for this identifier.</p>
+ *
+ * <p>A warning will be logged if a previously registered {@link Skin} was replaced, since it could produce
+ * inconsistent results if the application cached the previously registered Skin.</p>
+ *
+ * @param skinId Identifier of the {@link Skin} to register
+ * @param skin {@link Skin} instance that we are registering
+ */
@Override
public void addSkin(
String skinId,
@@ -63,7 +75,9 @@ public class SkinFactoryImpl extends Ski
synchronized (_skins)
{
- _skins.put(skinId, skin);
+ Skin previousValue = _skins.put(skinId, skin);
+ if (previousValue != null)
+ _LOG.warning("DUPLICATE_ADD_SKIN_TO_SKIN_FACTORY", skinId);
}
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/xrts/org/apache/myfaces/trinidadinternal/resource/LoggerBundle.xrts
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/xrts/org/apache/myfaces/trinidadinternal/resource/LoggerBundle.xrts?rev=1063804&r1=1063803&r2=1063804&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/xrts/org/apache/myfaces/trinidadinternal/resource/LoggerBundle.xrts (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/xrts/org/apache/myfaces/trinidadinternal/resource/LoggerBundle.xrts Wed Jan 26 17:38:07 2011
@@ -464,6 +464,9 @@ The skin {0} specified on the requestMap
<!-- CANNOT_ADD_SKIN -->
<resource key="CANNOT_ADD_SKIN">Can't add Skin with null skinId or null skin</resource>
+<!-- DUPLICATE_ADD_SKIN_TO_SKIN_FACTORY -->
+<resource key="DUPLICATE_ADD_SKIN_TO_SKIN_FACTORY">The previously added {0} skin has been added again. If you cached this skin in your application, you might get inconsistent results. Check for duplicate trinidad-skins.xml files on the classpath.</resource>
+
<!-- CANNOT_GET_SKIN_WITH_NULL_SKINID -->
<resource key="CANNOT_GET_SKIN_WITH_NULL_SKINID">Can't get Skin with null skinId</resource>