Revision: 10382
Author: gwt.mirror...@gmail.com
Date: Thu Jun 23 04:50:59 2011
Log: Update client bundle result caching to track absent resources
Review at http://gwt-code-reviews.appspot.com/1466804
http://code.google.com/p/google-web-toolkit/source/detail?r=10382
Modified:
/trunk/user/src/com/google/gwt/resources/ext/ResourceGeneratorUtil.java
/trunk/user/src/com/google/gwt/resources/rebind/context/AbstractClientBundleGenerator.java
=======================================
--- /trunk/user/src/com/google/gwt/resources/ext/ResourceGeneratorUtil.java
Tue Apr 26 08:02:24 2011
+++ /trunk/user/src/com/google/gwt/resources/ext/ResourceGeneratorUtil.java
Thu Jun 23 04:50:59 2011
@@ -517,7 +517,7 @@
/**
* Get default list of resource Locators, in the default order.
*
- * @param context
+ * @param genContext
* @return an ordered array of Locator[]
*/
private static Locator[] getDefaultLocators(GeneratorContext genContext)
{
@@ -533,7 +533,7 @@
* Get the current locale string.
*
* @param logger
- * @param context
+ * @param genContext
* @return the current locale
*/
private static String getLocale(TreeLogger logger, GeneratorContext
genContext) {
@@ -614,7 +614,7 @@
String resourceName, String locale) {
URL toReturn = tryFindResource(locator, resourceName, locale);
- if (toReturn != null && context != null) {
+ if (context != null) {
ClientBundleRequirements reqs = context.getRequirements();
if (reqs != null) {
reqs.addResolvedResource(resourceName, toReturn);
=======================================
---
/trunk/user/src/com/google/gwt/resources/rebind/context/AbstractClientBundleGenerator.java
Mon Jun 20 09:36:25 2011
+++
/trunk/user/src/com/google/gwt/resources/rebind/context/AbstractClientBundleGenerator.java
Thu Jun 23 04:50:59 2011
@@ -335,7 +335,7 @@
boolean useCache = false;
if (checkPropertyCacheability(logger, generatorContext)
&& checkSourceTypeCacheability(logger, generatorContext)
- && checkDependentResourceCacheability(logger, generatorContext,
null)) {
+ && checkDependentResourceCacheability(logger, generatorContext)) {
useCache = true;
}
@@ -586,7 +586,7 @@
* Check dependent resources for cacheability.
*/
private boolean checkDependentResourceCacheability(TreeLogger logger,
- GeneratorContextExt genContext, ResourceContext resourceContext) {
+ GeneratorContextExt genContext) {
CachedRebindResult lastRebindResult =
genContext.getCachedGeneratorResult();
@@ -608,9 +608,17 @@
for (Entry<String, URL> entry : cachedResolvedResources.entrySet()) {
String resourceName = entry.getKey();
URL resolvedUrl = entry.getValue();
- URL currentUrl = ResourceGeneratorUtil.tryFindResource(logger,
genContext,
- resourceContext, resourceName);
- if (currentUrl == null || resolvedUrl == null
+ URL currentUrl =
+ ResourceGeneratorUtil.tryFindResource(logger, genContext, null,
resourceName);
+
+ if (resolvedUrl == null) {
+ if (currentUrl == null) {
+ continue;
+ } else {
+ logger.log(TreeLogger.TRACE, "Found newly available dependent
resource: " + resourceName);
+ return false;
+ }
+ } else if (currentUrl == null
|
| !resolvedUrl.toExternalForm().equals(currentUrl.toExternalForm())) {
logger.log(TreeLogger.TRACE,
"Found dependent resource that has moved or no longer
exists: " + resourceName);
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors