You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-commits@incubator.apache.org by jw...@apache.org on 2007/01/06 02:11:16 UTC

svn commit: r493272 - /incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java

Author: jwaldman
Date: Fri Jan  5 18:11:16 2007
New Revision: 493272

URL: http://svn.apache.org/viewvc?view=rev&rev=493272
Log:
If in a portal output-mode, we look at the ExternalContext's requestMap for the "oracle.apache.myfaces.trinidad.skin.id" attribute. If it exists, we find the skin with that id, if that exists, we use the skin, instead of using the portal skin.

Modified:
    incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java

Modified: incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java?view=diff&rev=493272&r1=493271&r2=493272
==============================================================================
--- incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java (original)
+++ incubator/adffaces/branches/jwaldman-portal/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java Fri Jan  5 18:11:16 2007
@@ -373,14 +373,17 @@
       
     // get renderKitId, default is desktop renderKit
     String renderKitId = XhtmlConstants.APACHE_TRINIDAD_DESKTOP;    
-    if (CoreRenderKit.OUTPUT_MODE_PORTLET.equals(getOutputMode())) 
+    if (CoreRenderKit.OUTPUT_MODE_PORTLET.equals(getOutputMode()))
+    {
       renderKitId = XhtmlConstants.APACHE_TRINIDAD_PORTLET;
+    }
     else if (TrinidadAgent.TYPE_PDA == _agent.getAgentType())
     {
       // =-=jmw @todo when we have proper renderKitId switching, I can
       // get rid of this bit of code. Should we use getViewRoot().getRenderKitId() instead?
       renderKitId = XhtmlConstants.APACHE_TRINIDAD_PDA;
     }
+    
 
     SkinFactory factory = SkinFactory.getFactory();
     if (factory == null)
@@ -389,8 +392,25 @@
         _LOG.warning("There is no SkinFactory");
       return;
     }
+    
+    Skin skin = null;
+    
+    // see if there is a skinID on the requestParameterMap. If there is, then
+    // we want to use that skin. Otherwise, use find the skin as usual, using the portlet
+    // renderKitId.
+    if (CoreRenderKit.OUTPUT_MODE_PORTLET.equals(getOutputMode()))
+    {
+      Map<String, Object> requestMap = context.getExternalContext().getRequestMap();
+      Object skinId = requestMap.get(_SKIN_ID_PARAM);
+      if (skinId != null)
+      {
+        skin = factory.getSkin(context, skinId.toString());
+      }
+        
+    }
 
-    Skin skin = factory.getSkin(null, skinFamily, renderKitId);
+    if (skin == null)
+      skin = factory.getSkin(null, skinFamily, renderKitId);
 
     if (skin == null)
     {
@@ -550,6 +570,7 @@
   private int                 _linkStyleDisabledCount = 0;
   private boolean             _isLinkDisabled = false;
 
+  static private final String _SKIN_ID_PARAM = "oracle.apache.myfaces.trinidad.skin.id";
   // Maps describing the capabilities of our output modes
   // -= Simon Lessard =-
   // FIXME: Cannot use CapabilityKey in the generic definition because