Author: jwaldman
Date: Tue Feb  6 18:20:11 2007
New Revision: 504414

URL: http://svn.apache.org/viewvc?view=rev&rev=504414
Log:
I changed my implementation for 
http://issues.apache.org/jira/browse/ADFFACES-370 (Need to avoid IE's number of 
CSS selectors limitation
)
 so that I don't need the getSkin in the StyleContext API. We have a 
SkinStyleProvider which extends FileSystemStyleCache.java and that already has 
the skin information. I added a protected isCompressGeneratedStyles(Map) method 
which figures out if we need to compress based on if the shortened style class 
map matches the skin's style class map and the disable content compression flag.
The end result is identical -- I write out compressed or uncompressed, but not 
both unless it is a styleclass that doesn't have '|' in it.

Modified:
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/StyleContextImpl.java
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinStyleProvider.java
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/StyleContext.java
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/cache/FileSystemStyleCache.java

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/StyleContextImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/StyleContextImpl.java?view=diff&rev=504414&r1=504413&r2=504414
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/StyleContextImpl.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/StyleContextImpl.java
 Tue Feb  6 18:20:11 2007
@@ -80,11 +80,6 @@
     return ((CoreRenderingContext) _arc).getTrinidadAgent();
   }
 
-  public Skin getSkin()
-  {
-    return ((CoreRenderingContext) _arc).getSkin();
-  }
-
   public boolean checkStylesModified()
   {
     // =-=AEW Expose a configuration option if this

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinStyleProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinStyleProvider.java?view=diff&rev=504414&r1=504413&r2=504414
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinStyleProvider.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/SkinStyleProvider.java
 Tue Feb  6 18:20:11 2007
@@ -21,8 +21,12 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.faces.context.FacesContext;
+
+import org.apache.myfaces.trinidad.context.RenderingContext;
 import org.apache.myfaces.trinidad.skin.Skin;
 
+import 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.StyleSheetRenderer;
 import org.apache.myfaces.trinidadinternal.style.StyleContext;
 import org.apache.myfaces.trinidadinternal.style.StyleProvider;
 import org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache;
@@ -204,6 +208,27 @@
     }
 
     return name;
+  }
+  
+
+  /**
+   * Returns a boolean to say whether or not we should compress the styles 
that are
+   * written to the generated css file. We look at the skin to decide.
+   * @param shortStyleClassMap
+   * @return true if we want to compress styles; i.e., if the 
shortStyleClassMap we are using
+   * to output to the generated CSS matches the styleClassMap of the skin and 
the disable content
+   * compression flag is not turned on.
+   */
+  protected boolean isCompressGeneratedStyles(Map<String, String> 
shortStyleClassMap)
+  {
+    Map skinsStyleClassMap = _skin.getStyleClassMap(
+                                RenderingContext.getCurrentInstance());
+    String disableContentCompression = 
+      FacesContext.getCurrentInstance().getExternalContext().
+      getInitParameter(StyleSheetRenderer.DISABLE_CONTENT_COMPRESSION);
+    boolean compressStyles = (skinsStyleClassMap == shortStyleClassMap) && 
+                             !"true".equals(disableContentCompression);
+    return compressStyles;
   }
 
   // Returns a Map which hashes ProviderKeys to shared instances

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/StyleContext.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/StyleContext.java?view=diff&rev=504414&r1=504413&r2=504414
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/StyleContext.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/StyleContext.java
 Tue Feb  6 18:20:11 2007
@@ -41,7 +41,6 @@
    * Returns the end user's Agent.
    */
   public TrinidadAgent getAgent();
-  public Skin getSkin();
 
   public String getGeneratedFilesPath();
   public boolean checkStylesModified();

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/cache/FileSystemStyleCache.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/cache/FileSystemStyleCache.java?view=diff&rev=504414&r1=504413&r2=504414
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/cache/FileSystemStyleCache.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/style/cache/FileSystemStyleCache.java
 Tue Feb  6 18:20:11 2007
@@ -348,6 +348,16 @@
 
     return buffer.toString();
   }
+  
+  /**
+   * Returns a boolean to say whether or not we should compress the styles 
that are
+   * written to the generated css file. The default implementation returns 
false.
+   * 
+   */  
+  protected boolean isCompressGeneratedStyles(Map<String, String> 
shortStyleClassMap)
+  {
+    return false;
+  }
 
   // Returns the current StyleSheetDocument - used by StyleMapImpl only
   StyleSheetDocument __getStyleSheetDocument()
@@ -707,14 +717,7 @@
     // First figure out whether or not we need to compress the style classes.
     // We don't compress the style classes if the content compression flag is 
disabled or
     // if the skin's styleClassMap does not match our shortStyleClassMap.
-    
-    Map skinsStyleClassMap = context.getSkin().getStyleClassMap(
-                                RenderingContext.getCurrentInstance());
-    String disableContentCompression = 
-      FacesContext.getCurrentInstance().getExternalContext().
-      getInitParameter(StyleSheetRenderer.DISABLE_CONTENT_COMPRESSION);
-    boolean compressStyles = (skinsStyleClassMap == shortStyleClassMap) && 
-                             !"true".equals(disableContentCompression);
+    boolean compressStyles = isCompressGeneratedStyles(shortStyleClassMap);
 
     CSSGenerationUtils.writeCSS(context,
                                 styles,


Reply via email to