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 2010/04/08 01:48:33 UTC
svn commit: r931725 -
/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/StyleSheetEntry.java
Author: jwaldman
Date: Wed Apr 7 23:48:33 2010
New Revision: 931725
URL: http://svn.apache.org/viewvc?rev=931725&view=rev
Log:
TRINIDAD-1776 setting skin to dirty only has effect if it is set on initial render
Modified:
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/StyleSheetEntry.java
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/StyleSheetEntry.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/StyleSheetEntry.java?rev=931725&r1=931724&r2=931725&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/StyleSheetEntry.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/skin/StyleSheetEntry.java Wed Apr 7 23:48:33 2010
@@ -89,16 +89,16 @@ class StyleSheetEntry
if (skinStyleSheet == null)
return null;
- // We either create a plain old StyleSheetEntry or a special
- // subclass of StyleSheetEntry that will recalculate the StyleSheetEntry
- // if the skin is dirty or if there are file modifications
- // and the Configuration settings say to check for file modifications.
- if (context.checkStylesModified() || context.isDirty())
- return new CheckModifiedEntry(styleSheetName,
- skinStyleSheet.getDocument(),
- resolver);
+ // We either a special subclass of StyleSheetEntry that will recalculate
+ // the StyleSheetEntry if the skin is dirty or if the web.xml's
+ // CHECK_FILE_MODIFICATION flag is set and there are file modifications.
+ boolean checkStylesModified = context.checkStylesModified();
+ return new CheckModifiedEntry(styleSheetName,
+ skinStyleSheet.getDocument(),
+ resolver,
+ checkStylesModified);
+
- return skinStyleSheet;
@@ -441,13 +441,16 @@ class StyleSheetEntry
// Subclass of StyleSheetEntry which recreates the StyleSheetEntry
- // if the skin is marked dirty (skin.isDirty()) or if the underlying source files have been modified.
+ // if the skin is marked dirty (skin.isDirty()) or if the underlying
+ // source files have been modified and CHECK_FILE_MODIFICATION flag is set
+ // in web.xml.
private static class CheckModifiedEntry extends StyleSheetEntry
{
public CheckModifiedEntry(
String styleSheetName,
StyleSheetDocument document,
- NameResolver resolver
+ NameResolver resolver,
+ boolean checkFileModifiedFlagSet
)
{
super(styleSheetName, document);
@@ -455,17 +458,23 @@ class StyleSheetEntry
// We need the InputStreamProvider in order to check
// for modifications. Get it from the NameResolver.
_provider = _getInputStreamProvider(resolver);
+ _checkFileModifiedFlagSet = checkFileModifiedFlagSet;
}
- // Override of checkModified() which uses the
- // InputStreamProvider to check for changes to the
- // style sheet source files.
+ // Override of checkModified() which first checks if the file
+ // needs to be reparsed and a new CSS file generated.
+ // The conditions are if the skin is marked dirty, or if the
+ // web.xml's CHECK_FILE_MODIFICATION flag is set and the source
+ // has changed. The InputStreamProvider's hasSourceChanged method
+ // is called to see if the source has changed.
@Override
public boolean checkModified(StyleContext context)
{
// We would synchronize here, but at the moment synchronization
// is provided by Skin.getStyleSheetDocument().
- if (context.isDirty() || ((_provider != null) && (_provider.hasSourceChanged())))
+ if (context.isDirty() ||
+ (_checkFileModifiedFlagSet &&
+ ((_provider != null) && (_provider.hasSourceChanged()))) )
{
// Throw away the old InputStreamProvider and StyleSheetDocument
_provider = null;
@@ -529,6 +538,7 @@ class StyleSheetEntry
}
private InputStreamProvider _provider;
+ private boolean _checkFileModifiedFlagSet;
}