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>